入坑知乎三年有余,數月前靈光閃現,做個網頁爬蟲,專爬知乎下的精華回答,作統計分析。
以下,即是此項目的分析結果,希望能從另一個角度呈現出不一樣的知乎。
# 代碼
"talk is cheap, show me the code!" --屁話少說,放碼過來。心急的朋友可以直接戳鏈接看源碼,用的是Python3:
[https://github.com/SmileXie/zhihu_crawler](https://github.com/SmileXie/zhihu_crawler)
# 算法簡述
### 1.爬蟲算法
以[根話題的話題樹](https://www.zhihu.com/topic/19776749/organize/entire)為啟始,按廣度優先遍歷各子話題。話題的遍歷深度為3。解析各話題下的精華回答。

知乎的話題樹.png
### 2.收集數量
目前收集的信息共計50539個精華回答。
### 3.分析內容
* 精華回答的點贊數,答案長度等;
* 答題用戶的id,點贊數,地區,性別,學歷,學校,專業等;
# 統計結果
### 1.匿名答主
50539篇精華回答中,有3308篇的回答者選擇了匿名發布答案。

精華回答答主匿名情況.png
### 2.答主性別
男15740,女5749.是否從一個側面印證了知乎上程序員占了很大的比例.

精華回答答主性別.png
### 3.答主受教育情況
按答主的所在(畢業)學校統計,TOP10的學校是:

答主學校TOP10.png
可以看出,中國的頂尖高校對知乎的精華回答貢獻頗多。
按答主所在的專業統計,TOP10專業是:

答主專業TOP10.png
果然是程序猿的天堂。(上面的數據,我針對“計算機”和“金融”的數據做了處理,把“計算機”“計算機科學”“計算機科學與技術”合并為“計算機”,把“金融”和“金融學”合并為“金融”)
### 4.精華回答的贊同數
按精華回答所獲得的贊同數落在的區間,做統計

各精華回答獲得的贊同數落在的區間.png
| 贊同數區間 | 此區間內的精華回答數量 |
| --- | --- |
| 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范圍內的。
目前統計到的最高票回答是這篇:[《哪些素質很重要,卻是讀書學不來的》中肥肥貓的回答](https://www.zhihu.com/question/28626263/answer/41992632),共獲得了91433個贊同。
### 5.回答字數
如果按以下標準將精華回答按字數分類:
| 字數 | 分類 |
| --- | --- |
| 0~99 | 短篇 |
| 100~999 | 中篇 |
| 1000~9999 | 長篇 |
| 10000以上 | 超長篇 |
那么,精華回答的字數分布如下:

精華回答的字數分布.png
看來各位答主對沒少在知乎上碼字。長篇的數量甚至超越了短篇和中篇。
目前收集到的最長字數回答是:[《人究竟能摳到什么程度》中郭永年的回答](https://www.zhihu.com/question/31963067/answer/54079066),答主揚揚灑灑寫了98904字,敢情是在知乎上寫小說了啊。
# 后記
作為一個對Python和C都有使用的程序員,在開發的過程中不斷地領略著這兩種語言的巨大差異。
Python把對開發者友好做到了極致,犧牲了性能。
C把性能做到了極致,犧牲了對開發者的友好。
這個項目只用了500行Python,如果換作500行C,估計只能完成上述功能的1/10吧。
最后再貼一遍源碼:
[https://github.com/SmileXie/zhihu_crawler](https://github.com/SmileXie/zhihu_crawler)
- Python爬蟲入門
- (1):綜述
- (2):爬蟲基礎了解
- (3):Urllib庫的基本使用
- (4):Urllib庫的高級用法
- (5):URLError異常處理
- (6):Cookie的使用
- (7):正則表達式
- (8):Beautiful Soup的用法
- Python爬蟲進階
- Python爬蟲進階一之爬蟲框架概述
- Python爬蟲進階二之PySpider框架安裝配置
- Python爬蟲進階三之Scrapy框架安裝配置
- Python爬蟲進階四之PySpider的用法
- Python爬蟲實戰
- Python爬蟲實戰(1):爬取糗事百科段子
- Python爬蟲實戰(2):百度貼吧帖子
- Python爬蟲實戰(3):計算大學本學期績點
- Python爬蟲實戰(4):模擬登錄淘寶并獲取所有訂單
- Python爬蟲實戰(5):抓取淘寶MM照片
- Python爬蟲實戰(6):抓取愛問知識人問題并保存至數據庫
- Python爬蟲利器
- Python爬蟲文章
- Python爬蟲(一)--豆瓣電影抓站小結(成功抓取Top100電影)
- Python爬蟲(二)--Coursera抓站小結
- Python爬蟲(三)-Socket網絡編程
- Python爬蟲(四)--多線程
- Python爬蟲(五)--多線程續(Queue)
- Python爬蟲(六)--Scrapy框架學習
- Python爬蟲(七)--Scrapy模擬登錄
- Python筆記
- python 知乎爬蟲
- Python 爬蟲之——模擬登陸
- python的urllib2 模塊解析
- 蜘蛛項目要用的數據庫操作
- gzip 壓縮格式的網站處理方法
- 通過瀏覽器的調試得出 headers轉換成字典
- Python登錄到weibo.com
- weibo v1.4.5 支持 RSA協議(模擬微博登錄)
- 搭建Scrapy爬蟲的開發環境
- 知乎精華回答的非專業大數據統計
- 基于PySpider的weibo.cn爬蟲
- Python-實現批量抓取妹子圖片
- Python庫
- python數據庫-mysql
- 圖片處理庫PIL
- Mac OS X安裝 Scrapy、PIL、BeautifulSoup
- 正則表達式 re模塊
- 郵件正則
- 正則匹配,但過濾某些字符串
- dict使用方法和快捷查找
- httplib2 庫的使用