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