標籤 : webportergit
[TOC]程序員
使用 Java+Elasticsearch+Kibana 爬取了知乎 60 萬用戶數據,作了簡單的可視化分析。github
項目源碼 GitHub - webporterweb
在知乎上看到有個叫 @路人甲 的大神每隔一段時間就爬爬豆瓣/B站等等網站,作了不少有意思的分析,加上以前由於實驗室項目接觸過 Nutch,淺嘗輒止了,因此一直想好好玩玩爬蟲。網站
網上 Python 的爬蟲教程不少,而本身的主語言是 Java,本着宣傳 Java,以練促學的目的,我使用 Java 爬取了知乎 60 萬用戶信息,主要想看看知乎上妹子多很少啊/是否是都是基佬啊,標配常青藤/年薪百萬是否是真的啊,等等。.net
爲了保證數據的質量,避免爬到一些殭屍號什麼的,我選擇爬取關注列表而非粉絲列表。我隨機挑選了一位粉絲過千的優秀回答者做爲起始,爬取他的關注列表,再對列表中的每一個人爬取其關注列表,以此類推……code
下載了大概 7 個小時,爬了 40 多萬用戶的關注列表,拿到了 10G 的數據,如圖所示:blog
理論上有 800 多萬用戶,惋惜有不少重複的,去重後將數據導入 Elasticsearch,獲得 60+ 萬用戶數據:教程
接下來簡單看看下載下來的數據靠不靠譜,隨手在知乎和個人 Kibana 分別搜了下輪子哥 @vczh索引
能夠看到,連同名的都搜出來是同樣的,數據沒啥問題。
而後使用 Elastichearch 的聚合查詢配合 Kibana 對數據進行可視化展現,我主要分析了下面幾個問題:
圖中涉及性別的, 1 表示男,0 表示女,-1 表示不男不女
能夠看到知乎男性人數過半了,比女性和未知性別加起來都多。
粉絲數前 10 的依次是 @張佳瑋,@李開復,@黃繼新,@周源,@yolfilm,@張亮,@張小北,@李淼,@葛巾,@採銅。最多的 120 萬粉絲,第十也過 60 萬了。不過前十里好幾個都是知乎員工,有黑幕的嫌疑吧?
能夠看到 BAT 所有上榜了(亂入了一個學生什麼鬼?),僅接着是網易,華爲,谷歌,微軟,美團。都是牛逼哄哄的互聯網相關企業,看來國企和實體企業比較低調,不在知乎填公司信息啊。
另外華爲的男女比簡直不能看啊,妹子那麼少,想去華爲的單身狗們須要好好考慮一下了。
差強人意,校友人數排名前十的全特麼是 985 啊,清北復交浙所有上榜,儼然中國大學排行榜。看來知乎標配不是常青藤,而是 985 嘛。另外能夠看到,我科(倒數第三個)的男女比在這幾個裏面確實感人,難怪我如今還單身...
北京獨領風騷,上海緊隨其後。另外知乎竟然把深圳和廣州根據有沒有「市」標記爲了兩個城市,簡直坑爹,我也懶得二次處理了。綜合來看,北上廣深杭,主要集中在這五個城市,基本也是我國互聯網企業分佈最多的幾個城市。
能夠看到,互聯網和計算機軟件兩個加起來就佔了半數以上,要是算上電子商務和電子遊戲等基本是程序員的天下了,因此知乎上程序員偏多,IT 從業者佔主流啊。
另外互聯網的男女比大概 2:1 的樣子吧,法律,信息傳媒和創意藝術的男女比比較均衡,大概五五開。
將近四分之一是產品經理,創始人和 CEO 也很多,比工程師還多,學生也佔必定比例。另外除了運營和編輯的男女比差很少,其它都是男多女少啊。
從這 60 萬用戶數據能夠看出,知乎的主要羣體是程序員和學生,平均學歷 985 不是黑,是真的!雖然知乎用戶遠不止 60 萬,這些數據分析出來的結果可能有些誤差,但應該也能說明一些問題吧。
最後按照國際慣例,附上源碼,GitHub - webporter