入坑知乎三年有餘,數月前靈光閃現,做個網頁爬蟲,專爬知乎下的精華回答,作統計分析。
以下,即是此專案的分析結果,希望能從另一個角度呈現出不一樣的知乎。
程式碼
“talk is cheap, show me the code!” --屁話少說,放碼過來。心急的朋友可以直接戳連結看原始碼,用的是Python3:
https://github.com/SmileXie/zhihu_crawler
演算法簡述
1.爬蟲演算法
以根話題的話題樹為啟始,按廣度優先遍歷各子話題。話題的遍歷深度為3。解析各話題下的精華回答。
2.收集數量
目前收集的資訊共計50539個精華回答。
3.分析內容
- 精華回答的點贊數,答案長度等;
- 答題使用者的id,點贊數,地區,性別,學歷,學校,專業等;
統計結果
1.匿名答主
50539篇精華回答中,有3308篇的回答者選擇了匿名釋出答案。
2.答主性別
男15740,女5749.是否從一個側面印證了知乎上程式設計師佔了很大的比例.
3.答主受教育情況
按答主的所在(畢業)學校統計,TOP10的學校是:
可以看出,中國的頂尖高校對知乎的精華回答貢獻頗多。
按答主所在的專業統計,TOP10專業是:
果然是程式猿的天堂。(上面的資料,我針對“計算機”和“金融”的資料做了處理,把“計算機”“電腦科學”“電腦科學與技術”合併為“計算機”,把“金融”和“金融學”合併為“金融”)
4.精華回答的贊同數
按精華回答所獲得的贊同數落在的區間,做統計
贊同數區間 | 此區間內的精華回答數量 |
---|---|
0~4999 | 46546 |
5000~9999 | 2623 |
10000~14999 | 713 |
15000~19999 | 305 |
20000~24999 | 154 |
25000~29999 | 94 |
30000~34999 | 44 |
35000~39999 | 22 |
40000~44999 | 16 |
45000~49999 | 8 |
50000~54999 | 4 |
55000~59999 | 3 |
60000~64999 | 3 |
65000~69999 | 0 |
70000~74999 | 2 |
75000~79999 | 1 |
80000~84999 | 0 |
85000~89999 | 0 |
90000~94999 | 1 |
95000~99999 | 0 |
可見,大多數精華回答獲得的贊同數是處於0~4999範圍內的。
目前統計到的最高票回答是這篇:《哪些素質很重要,卻是讀書學不來的》中肥肥貓的回答,共獲得了91433個贊同。
5.回答字數
如果按以下標準將精華回答按字數分類:
字數 | 分類 |
---|---|
0~99 | 短篇 |
100~999 | 中篇 |
1000~9999 | 長篇 |
10000以上 | 超長篇 |
那麼,精華回答的字數分佈如下:
看來各位答主對沒少在知乎上碼字。長篇的數量甚至超越了短篇和中篇。
目前收集到的最長字數回答是:《人究竟能摳到什麼程度》中郭永年的回答,答主揚揚灑灑寫了98904字,敢情是在知乎上寫小說了啊。
後記
作為一個對Python和C都有使用的程式設計師,在開發的過程中不斷地領略著這兩種語言的巨大差異。
Python把對開發者友好做到了極致,犧牲了效能。
C把效能做到了極致,犧牲了對開發者的友好。
這個專案只用了500行Python,如果換作500行C,估計只能完成上述功能的1/10吧。
最後再貼一遍原始碼:
https://github.com/SmileXie/zhihu_crawler