进阶知识点:
滚动到页面底部才会加载新内容的页面爬取
查看结构图,理解选择器结点的关系
一、如何在知乎追热点
B站凭借《后浪》又一次在朋友圈刷屏,对于媒体人,蹭热点不难,难的是从新颖的角度追热点。知乎就是很好的素材库,不仅有不同的观点、角度,还有与社会新闻和身边故事的关联,可谓有血有肉。
所以,今天就讲解如何在知乎爬取「后浪」相关的问题,从赞同数和评论数筛选能够引起读者共鸣的观点。
二、爬取知乎关于「后浪」的问题
1. 在知乎搜索「后浪」,创建Sitemap
Sitemap name
: zhihu
Start URL
: https://www.zhihu.com/search?q=%E5%90%8E%E6%B5%AA&type=content
2. 建立滚动页面选择器,在爬取前让页面滚动至底部完成信息加载
在爬取数据前,先观察页面特征。知乎搜索结果页的特征是:要将滚动条拖至底部,才会加载出新的内容(如下图),所以要不断拖动,直到全部加载之后,才能开始爬取数据,否则,爬取结果会有缺失。
知乎等待加载的内容建立滚动选择器
Id
: scroll
Type
: Element scroll down
点击Select
: 点选时避开了前三条问题,直接点选第4条和第5条,因为前三条专属于「热点」区域,如果点选了「热点」中的第1条和第2条,会发现「热点」以下的问题不会变为红色,证明「热点」之外的问题属于其他区域,而本次需要爬取的正是其他区域中的内容
点击Multiple
点击Done selecting!
完成建立
3. 建立内容爬取选择器
建立question选择器,作为字段容器
如果对于这一步不理解,可以查看教程三的图示
Id
: question
Type
: Element
Select
: 与滚动器一样,点选第4条和第5条
点击Multiple
点击Done selecting!
完成建立
在字段容器中,建立标题、赞同数、评论数的选择器
因为步骤相同,以下配置按「标题、赞同数、评论数」的顺序,用/隔开
Id
: title/agree/comment
Type
: Text
Select
: 点选黄色区域的标题/赞同数评论数
点击Done selecting!
完成建立
赞同数(agree)
评论数(comment)
4. 执行爬虫程序
因执行需要一定时间,动态图截掉了部分程序执行过程,操作时请耐心等待
5. 查看选择器结点结构图
结构图能够清晰地呈现程序的内容:
「_root」: 表示根结点,代表程序即将开始
「scroll」: 是本程序的第一个结点,表示页面先滚动至底部
「question」: 是字段的容器,其分支表示了包含的字段结点
网友评论