CSDN

訂閱

發行量:967 

車票?工作?對象?Python 教你優雅解決年關三大難題

所以,我們用Python爬取了知乎上相關的熱門問題:看一看多少人有類似的困惑,更重要的是,有什麼可以拿來即用的秘籍。

2020-01-19 15:06 / 0人閱讀過此篇文章  

作者 | 數據不吹牛

最近,很多朋友都已經連續多日沉浸在即將(已經)放假的快感之中,化身漁夫,兢兢業業地摸魚。

但是!你真的準備好過年了嘛!你真的知道為什麼過年叫年關嗎?

讓小Z來給你講個故事,從前,有一隻年獸,一到春節就....

Sorry!走錯片場了,都2020年了,過年之所以叫年關,還不是因為東西南北漂的年輕人回家過年,總有三個繞不開的難題:

  • 合適的票買到了嗎?

  • 你專業/工作到底是幹啥的?工資多少?

  • 你對象呢?

合適的票,靠單身多年的手速,百折不撓的搶票毅力,還有那審時度勢,在幾百年不說話的好友群發個助力連結就跑的局勢洞察力,搶到大機率是沒問題的。

解決了票,腦海中已經出現,親戚面帶微笑的看向後兩個問題的畫面。

幸好,我們從小都知道,遇事不決想名言!

「站在前人的肩膀上看問題,身高上,我就能夠比他高出一大截兒」這句名言(小Z胡說的),給了我無盡的靈感。

說到前人的肩膀,知乎不就是個絕佳的參考系嗎?所以,我們用Python爬取了知乎上相關的熱門問題:

看一看多少人有類似的困惑,更重要的是,有什麼可以拿來即用的秘籍。

知乎的部分爬取代碼如下,完整代碼和數據附在文末,跳過絲毫不影響閱讀。


import pandas as pd
import numpy as np
import os
import json
import requests
def parse_page(url,headers):
html = requests.get(url,headers = headers)
bs = json.loads(html.text)
result = pd.DataFrame
for i in bs['data']:
headline = i['author']['headline'] #簽名
gender = i['author']['gender'] #性別
user_type = i['author']['user_type']
user_id = i['author']['id']
user_token = i['author']['url_token']
follwer_count = i['author']['follower_count'] #關注人數
name = i['author']['name'] #用戶暱稱
vote_up = i['voteup_count'] #點讚數
updated_time = i['updated_time'] #更新時間
title = i['question']['title'] #問題
created_time = i['created_time'] #創建時間
comment_count = i['comment_count'] #評論數
can_comment = i['can_comment']['status'] #是否可以評論
content = i['content'] #內容,還需要再清洗
cache = pd.DataFrame({'用戶ID':[user_id],'用戶名':[name],'性別':[gender],'token':[user_token],'用戶類型':[user_type],'簽名':[headline],
'被關注人數':[follwer_count],'創建時間':[created_time],'更新時間':[updated_time],'評論數':[comment_count],
'點讚數':[vote_up],'是否可以評論':[can_comment],'內容':[content],'問題':[title]})
result = pd.concat([result,cache])
return result

未雨綢繆,還是事後吐槽?

我們發現,「過年回家,親戚問是做什麼工作的,該說實話嗎?」這個問題下,大多數是結合自身經歷來吐槽的。

應了那句「吐槽不避親」的古訓,91.68%的用戶沒有匿名,當然,也可能是知道親戚們都不上知乎。

未知用戶性別用戶實在太多,從僅存的男女占比來看,似乎男性吐槽意願更強。

接著,更有意思的回答時間分布來了:

2018年2月7號(小年前一天),未雨綢繆的題主在知乎拋出了這個問題,當天有15個熱心人拋磚引玉,在小年(8號)達到頂峰,日新增68個回答。

然而,9號之後,年關越來越近,回答數卻越來越少,在2月15號除夕之後,新回答者銷聲匿跡,莫非大家都已經做好了準備?不過這更可能和知乎的流量分發有關。

問題沉寂了一年之後,熱度在19年2月9日(大年初五)一飛沖天,221個熱乎的回答蹭蹭湧入,事後吐槽之密集,以身手敏捷著稱的七大姑八大姨都沒能躲過。

但是,初五的輝煌,初六沒能承接上,初七之後更是回歸平淡。這個回答,今年還會不會再蹦躂呢?

「搞網際網路好啊!正好我家網連不上!

我們繼續扒一扒,上個問題回答者從事行業和崗位的秘密。

必須先吐槽一下大家填信息實在是太隨心所欲了,讓人清洗的頭大。

行業寫的都還挺規範,而涉及到學校和崗位,幾百個回答下竟然幾乎沒有重樣的!

「摸魚情感教育」是什麼崗位?學校填「哈爾濱佛學院」的是哈佛嗎?工作寫「討飯XX年」的朋友是認真的嗎!

得,我們先勉強看一下行業TOP10:

不得不說,網際網路+計算機軟體行業真乃吐槽雙壁(占比和平台也有關係),兩者合計占比超過59%,傲視群雄。

「產品經理?畢業就當了經理!能不能給你外甥走個後門啊!」

「數據分析?嗨呀,幫我分析分析下一期彩票!」

「做IT的?我的路由器出了點問題來幫我敲敲!」

「設計?廣告設計?廣告這些東西可真招人煩啊!」

網際網路的發展大大超出了老一代人的想像,有朋友總結出來一個經驗,親戚說啥就是啥,不要解釋,越描越黑。畢竟,最重要的還是開心嘛。

「現在能掙多少啊?

工資是一個嚴峻的話題。

一旦疏忽,父母面上無光,稍有不慎,又掃了七大姑八大姨的興致。

綜合點讚和回答數據,我們做了一個加權排序,排除炮灰答案後,逐字審讀,悟出了三個大招。

1、乾坤大挪移

這一招的宗旨很簡單,任何話題都是可以轉移的。

「小Z,工資多少啊?」

「阿姨,工資這點小事等會說,我給你說說我今年搞的幾個有意思的分析,您一定感興趣!」

一個小時後,阿姨已經忘了當初的問題。

2、惜字如金

「小Z,工資多少啊?」

「尚可!」

「到底是多少啊?」

「夠吃」

3、巧用同比

「小Z,工資多少啊?」

「有進步,比去年高15%呢」

「去年多少啊?」

「比前年高10%呢!」

「你對象呢?

由於非單身狗回答過於複雜和困難,此回答主要適用於單身狗。

由於此問題過於八卦且能無限延展,此回答亦不能用常規解法。

這天,你正要開黑,遠方的七舅老爺推門而入。

「你對象呢?」

「啊!這個問題超綱了啊!是我的知識盲區了!」

「有還是沒有!」

「有有有,別急嘛」,你打開了抽屜,拿出棋盤。

「你玩兒我呢!」

「哪敢哪敢哪敢,對象照片在我電腦上呢!」

說著,你打開了電腦,但手一刻也沒有在相冊逗留,而是徑直衝向了一個py文件,打開了編輯器,在被錘倒之前,無比清晰的記得那個文件最後幾行代碼:

註:上述代碼無限列印「對象」兩個字,本文完整代碼和源數據,後台回復「知乎過年」即可獲取。

只一瞬,什麼國民老公,什麼後宮佳麗三千人,論對象數量,他們都還只是個弟弟。

#歡迎來留言#你的「年難關」是什麼?請說出你的故事哦!

代碼:

https://github.com/seizeeveryday/DA-cases/tree/master/Zhihu





文章標籤: