入坑知乎三年有余,数月前灵光闪现,做个网页爬虫,专爬知乎下的精华回答,作统计分析。
以下,即是此项目的分析结果,希望能从另一个角度呈现出不一样的知乎。
代码
“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吧。