文章转载至Python与数据分析(ID:PythonML),作者:沈仲强 先来观察一下:
看出什么规律了么? 短小精辟有没有?赞同很多有没有?所以爬取知乎神回复我们只要爬取那些赞同多又字数少的回答就可以。简单的两个步骤就能实现,第一步爬取知乎回答,第二部筛选回答。是不是很easy? 爬取知乎回答 第一步我们爬取知乎上的回答。知乎上的回答太多了,一下子爬取所有的回答会很费时,我们可以选定几个话题,爬取这几个话题里的内容。 下面的函数用于爬取某一个指定话题的内容:
get_answers_by_page函数有两个参数,第一个参数是话题的id,第二个参数表示爬的是第几页的内容。 爬下来的内容当中有几个需要注意的字段,下图中用黄框高亮出来了:
这几个字段的含义如下: question.title - 问题的标题 content - 回答的内容 voteup_count - 赞同的数量 这些字段在下一步筛选回答的时候会用到。 筛选回答 爬完数据后,我们来筛选一下结果。 我们用MongoDB中的聚合管道对回答做筛选(关于MongoDB的聚合管道的用法可以参考Aggregation Pipeline Quick Reference这篇文章,地址:https://docs.mongodb.com/manual/meta/aggregation-quick-reference/ 代码如下:
知乎神回复 代码写完了,可以运行下看看,这里就有75条筛选出来与程序员有关的神回复。
领取专属 10元无门槛券
私享最新 技术干货