天天看點

爬取知乎60萬使用者資訊之後的資料分析

使用 java+elasticsearch+kibana 爬取了知乎 60 萬使用者資料,做了簡單的可視化分析。

項目源碼 github – webporter

動機

在知乎上看到有個叫 @路人甲 的大神每隔一段時間就爬爬豆瓣/b站等等網站,做了很多有意思的分析,加上之前因為實驗室項目接觸過 nutch,淺嘗辄止了,是以一直想好好玩玩爬蟲。

網上 python 的爬蟲教程很多,而自己的主語言是 java,本着宣傳 java,以練促學的目的,我使用 java 爬取了知乎 60 萬使用者資訊,主要想看看知乎上妹子多不多啊/是不是都是基佬啊,标配常青藤/年薪百萬是不是真的啊,等等。

思路

為了保證資料的品質,避免爬到一些僵屍号什麼的,我選擇爬取關注清單而非粉絲清單。我随機挑選了一位粉絲過千的優秀回答者作為起始,爬取他的關注清單,再對清單中的每個人爬取其關注清單,以此類推……

下載下傳了大概 7 個小時,爬了 40 多萬使用者的關注清單,拿到了 10g 的資料,如圖所示:

爬取知乎60萬使用者資訊之後的資料分析

理論上有 800 多萬使用者,可惜有很多重複的,去重後将資料導入 elasticsearch,得到 60+ 萬使用者資料:

爬取知乎60萬使用者資訊之後的資料分析

資料驗證

接下來簡單看看下載下傳下來的資料靠不靠譜,随手在知乎和我的 kibana 分别搜了下輪子哥 @vczh

爬取知乎60萬使用者資訊之後的資料分析
爬取知乎60萬使用者資訊之後的資料分析

可以看到,連同名的都搜出來是一樣的,資料沒啥問題。

關心的資料

然後使用 elastichearch 的聚合查詢配合 kibana 對資料進行可視化展示,我主要分析了下面幾個問題:

性别分布

粉絲最多的使用者top10

員工最多的公司top10

校友最多的學校top10

人數最多的地方top10

top10行業分布

top10職業分布

圖中涉及性别的, 1 表示男,0 表示女,-1 表示不男不女

爬取知乎60萬使用者資訊之後的資料分析

可以看到知乎男性人數過半了,比女性和未知性别加起來都多。

爬取知乎60萬使用者資訊之後的資料分析

粉絲數前 10 的依次是 @張佳玮,@李開複,@黃繼新,@周源,@yolfilm,@張亮,@張小北,@李淼,@葛巾,@采銅。最多的 120 萬粉絲,第十也過 60 萬了。不過前十裡好幾個都是知乎員工,有黑幕的嫌疑吧?

爬取知乎60萬使用者資訊之後的資料分析

可以看到 bat 全部上榜了(亂入了一個學生什麼鬼?),僅接着是網易,華為,谷歌,微軟,美團。都是牛逼哄哄的網際網路相關企業,看來國企和實體企業比較低調,不在知乎填公司資訊啊。

另外華為的男女比簡直不能看啊,妹子那麼少,想去華為的單身狗們需要好好考慮一下了。

爬取知乎60萬使用者資訊之後的資料分析

差強人意,校友人數排名前十的全特麼是 985 啊,清北複交浙全部上榜,俨然中國大學排行榜。看來知乎标配不是常青藤,而是 985 嘛。另外可以看到,我科(倒數第三個)的男女比在這幾個裡面确實感人,難怪我現在還單身…

爬取知乎60萬使用者資訊之後的資料分析

北京獨領風騷,上海緊随其後。另外知乎居然把深圳和廣州根據有沒有“市”标記為了兩個城市,簡直坑爹,我也懶得二次處理了。綜合來看,北上廣深杭,主要集中在這五個城市,基本也是我國網際網路企業分布最多的幾個城市。

爬取知乎60萬使用者資訊之後的資料分析

可以看到,網際網路和計算機軟體兩個加起來就占了半數以上,要是算上電子商務和電子遊戲等基本是程式員的天下了,是以知乎上程式員偏多,it 從業者占主流啊。

另外網際網路的男女比大概 2:1 的樣子吧,法律,資訊傳媒和創意藝術的男女比比較均衡,大概五五開。

爬取知乎60萬使用者資訊之後的資料分析

将近四分之一是産品經理,創始人和 ceo 也不少,比工程師還多,學生也占一定比例。另外除了營運和編輯的男女比差不多,其它都是男多女少啊。

結語

從這 60 萬使用者資料可以看出,知乎的主要群體是程式員和學生,平均學曆 985 不是黑,是真的!雖然知乎使用者遠不止 60 萬,這些資料分析出來的結果可能有些偏差,但應該也能說明一些問題吧。

最後按照國際慣例,附上源碼,github – webporter

本文作者:brianway

來源:51cto