1. 程式人生 > >怎樣成為知乎大V?爬取張佳瑋138w+知乎關注者:資料視覺化

怎樣成為知乎大V?爬取張佳瑋138w+知乎關注者:資料視覺化

大資料

一、前言

作為簡書上第一篇文章,先介紹下小背景,即為什麼爬知乎第一大V張公子的138w+關注者資訊?

其實之前也寫過不少小爬蟲,按照網上各種教程例項去練手,“不可避免”的爬過妹子圖、爬過豆瓣Top250電影等等;也基於自身的想法,在浙大120週年校慶前,聽聞北美帝國大廈首次給大陸學校亮燈,於是爬取2016-2017年官網上每日的亮燈圖並用python的PIL庫做了幾個小logo,算是一名吃瓜群眾自發的慶賀行為;(更多照片見於:Deserts-X 我的相簿-北美帝國大廈亮燈圖:ZJU_120 logo)

https://www.douban.com/photos/photo/2459391373/

大資料

北美帝國大廈亮燈圖:ZJU120

也因為喜歡魯迅的作品,爬過線上魯迅全集的全部文章標題和連結;另外聽說太祖的某卷書是禁書,於是順帶也爬了遍毛選;還幫老同學在某票據網站下線前爬了大部分機構、人員資訊,說是蠻值錢,然而也還在留著落灰……

大資料

微博簽到資料點亮中國

再是知道百度Echarts開源的視覺化網站裡面的圖很酷炫,比如使我著迷的:微博簽到資料點亮中國,http://echarts.baidu.com/demo.html#scatter-weibo 於是想著可以爬取微博大明星、小鮮肉的粉絲的居住地,然後搞搞怎麼畫出全國乃至全球分佈情況。但發現幾年前微博就限制只能檢視200左右粉絲數(具體忘了),蠻掃興的,於是將目光轉向了知乎……

而既然要爬,那就爬關注人數最多的張公子吧,資料量也大,這方面是之前小專案所不及的,此前也看過不少爬知乎資料與分析的文章,因此也想練練手,看看大量訪問與獲取資料時會不會遇到什麼封IP的反爬措施,以及資料視覺化能搞成什麼樣。

不過此文在爬蟲部分不做過多展開,看情況後續再另寫一文。思路如下:抓包獲取張佳瑋主頁關注者api,然後改變網址中offset引數為20的倍數,一直翻頁直到獲取138w+關注者資訊,其中返回的json資料主要有:關注者的暱稱、主頁id(即url_token)、性別、簽名、被關注人數等,也就是說需要訪問所有主頁id,才能獲取更多資訊(個人主頁api:以黃繼新為例):居住地、所在行業、職業經歷、教育經歷、獲贊數、感謝數、收藏數等等。鑑於還不怎麼會多程序爬取,如果把所有id再爬一遍會非常耗時間,於是篩選被關注數100+的id,發現只剩了4.1w+,之後較完整提取了這部分的資訊,後續視覺化也多基於此。

大資料

爬取資訊一覽

 二、資料視覺化

1、關注人數

大V總是少數的,而小透明到底有多少、分佈情況如何呢?將關注人數劃分成不同區間,繪製成如下金字塔圖:

大資料

作為一隻小透明,在此過程中發現自己處於前2w的位置,即圖中紅色區域,還是蠻吃驚的。上文已提到100+關注就超過了134w的使用者,而1k+、1w+、10w+就越來越接近塔尖,越來越接近張公子的所在,看上圖10w+以上的區域,如同高聳入雲,渺然不可見,“亂山合沓,空翠爽肌,寂無人行,止有鳥道”,令小透明很是神往。

上升之路雖然崎嶇,但也同樣說明只要多增幾個關注,就勝過了數以萬計的使用者,這對於有志於成為大V的人,或許能在艱難的前行之路上,靠此資料透露的資訊,拾得些許信心。

大資料

細看底部的區間,0關注有40.2w+,1-10關注有76.6w+,區分度已赫然形成,但小透明可能感受不出,那怕有幾百的關注,何嘗不會覺得自己依舊是個小透明呢?有誰會相信斬獲10人關注,就超過了100w+的使用者,資料能告知人經驗之外的事實,在此可見一斑。當然知乎大量使用者湧入且多數人並不產生優質或有趣的回答,也是一二原因。

繼續看100+以上的資料,底部佔比依舊明顯,塔尖依然很小。

大資料

2、性別情況

接著對100+關注人群的性別組成進行分析,發現男女比例基本維持在2:1,與138w+使用者的男女比例差別不大。當然10w+關注由於人數較少,比例超過3:1,是否能得出男性在這方面更為優秀就不得而知了。

大資料

3、10w+大V

前文已多次提到10w+大V,那麼這190人裡到底都有誰呢?這裡以關注人數為權重,生成詞雲如下:

大資料

大家上知乎的話應該也有關注一些大V,許多名字應該並不陌生,比如馬伯庸、動機在杭州、葛巾、朱炫、丁香醫生等等,當然也會發現並不是所有大V都關注了張公子,哪怕他是知乎第一人,目前已交出了3026個回答,135個知乎收錄回答的傲人成績(據說也是豆瓣和虎撲第一人)。

4、居住地分佈

終於到了我最初開始這個專案時,最想獲取的的資訊了。雖然由於爬取效率而篩選掉了100關注以下的id共134w,資料量方面不如標題所示的那麼多,略有遺憾,但其實真的拿到4.1w+條較優質資料時,發現處理起來也並不容易。

比如這裡的居住地資訊,有亂填水星、火星、那美剋星,也有填國家、省份、縣市、街道格式不一的,還有諸如老和山之類外行人不明白的“啞謎”等等,資料之髒令人頭疼,且純文字的資料又不像數字類可以篩選、排序,還沒想到好的方式應對。再者Echarts官網雖然有不少可以套用的模板,但有很多地方的經緯度需要重新獲取,這樣就在資料處理和地圖上定位有兩處難題需要解決。

由於第一次處理這類資料並可視化,第一次用Echarts就打算畫這個酷炫的地圖,因此最終先縮小資料量,還是以1w+大V的資料來視覺化,目前先完成國內分佈情況,以後看情況再擴大資料量和繪製全球分佈情況。

大資料

其中出現次數排名前幾的城市依次為:北京 360,上海 183,深圳 55,杭州 52,廣州 47,成都 26,南京 20……應該算是意料之中的。考慮到並不是每個人對這些點所代表的城市都熟悉,加上城市名,效果如下,重疊較為嚴重,顯示效果不夠好,仍需解決。

大資料

5、Top20 系列

大資料

接下來分別對所在行業、職業經歷、教育經歷等進行分析,結果如下(注:使用者有多條職業經歷或教育經歷的,僅爬取了最新的一條資料):

學校方面幾乎全為985、211高校,當然拿得出手的會樂於寫上,略微差些的可能不會填寫,而且湧入使用者多了後,這類資料也就只是調侃知乎人人都是985高校,年薪百萬的點了。所在行業方面,網際網路遙遙領先,計算機軟體、金融、高等教育位居前四。

大資料

Top20 公司中BAT、網易、華為、小米科技、美團網以及谷歌、Facebook、微軟等大廠都悉數在列。再看Top20 職業裡除了各種名號的程式設計師、產品經理、運營等網際網路職業,創始人、CEO等佔據前排,不可謂不令人大驚從早到晚失色。

6、認證資訊

原本只知道博士可以提供資訊得到認證,知乎也會給予其回答更好的顯示途徑,使其更容易成長為大V,以此作為對高學歷人群、優質使用者的獎勵。

此次抓取的100+關注4.1w+條資料中有208條認證資訊。除卻各種專業的博士、博士後外,還有37家公司、機構,9條醫師,11條教授/講師/研究員,13條CFA、CPA持證人或工程師、建築師,以及副總裁、創始人、記者、律師、WCG2005-2006魔獸爭霸專案世界冠軍、職業自行車手、主持人、作家等等。看來還是有不少可以後續去了解下優質使用者的。

大資料

7、優秀回答者

除了認證資訊外,優秀回答者這是鑑別某使用者是否為優質使用者,是否值得關注的一個重要指標。包含張佳瑋在內,共有468位優秀回答者,涉及257個話題,共出現768人次優秀回答者標籤。

大資料

涉及的257話題詞雲

而所有優秀回答者貢獻的回答和知乎收錄回答情況如下:

大資料

最右上角的便是張佳瑋的貢獻情況,令人望塵莫及。也有不少使用者貢獻了上千個回答,可以說是非常高產。但大部分使用者回答數<1000,收錄數<50。因此對此區域放大,可見:

大資料

有不少資料收錄回答為0,因為還不知道知乎優秀回答者的評判標準,所以此處還需進一步瞭解。另外這些資料點,對應的加上一些大V名字可能顯示起來能好,但一直在摸索,還不得要領。

三、小結

本專案是個人第一次百萬級資料的爬取,當然由於爬取效率方面需要改進,所以詳細使用者資訊選擇性的只爬了100+關注人數共4.1w+的id。另外也是第一次資料視覺化,從完全不懂Echarts的各種引數,硬剛配置項,到勉強獲得了上述還算能看的一些資料圖,不少地方還需進一步學習、改進,以求獲得更合乎要求的、理想的、自定義的視覺化圖。

另外,除卻上述資料外,還有點贊數、感謝數、收藏數、關注數和被關注數、簽名、個人簡介等等資料並未處理,但基本想要獲取的圖都得到了,算是完成了此專案,也學到了很多東西。

End.