点击/滚动加载数据采集方法合集

当列表页采用点击或滚动加载更多内容,无法批量生成列表翻页网址进行采集。

本合集将介绍4种实用有效的采集方法,解决此类网页采集难题。

1. 批量生成详情页网址

2. 网站地图采集

3. 循环采集详情页

4. JSON格式采集


1. 批量生成详情页网址

若文章详情页网址有规律变化(如数字递增),可直接批量生成详情页网址采集,无需通过列表页获取。


配置步骤:

1)用高级模式创建采集任务;

2)任务基本信息处,采集模式选择 "详情页(零散采集)" ;

3)批量生成详情页网址,设置翻页范围,保存;

4)关闭弹窗,务必再点击基本信息页面下方的保存;

5)打开详情提取器,检查并完善详情页采集规则,启动采集。


2. 网站地图采集

检查是否存在网站地图(sitemap),其地址通常为:域名/sitemap.xml 或者 域名/sitemap.html 。

网站地图是网站的导航索引文件,列出所有重要页面的网址,主要用于帮助搜索引擎抓取和索引网站内容,可作为列表页进行批量采集。


配置步骤:

1)创建任务时,在“列表页” 输入网站地图网址,“典型详情页” 输入一个详情页网址;

2)打开列表提取器,点击 "配置为SiteMap" 按钮,保存并关闭;

3)按向导完成详情页采集规则配置,启动采集。


3. 循环采集详情页

若文章详情页中存在 "上一篇" 和 "下一篇" 、"相关推荐" 等跳转链接,可使用无限循环采集功能:在采集详情页内容的同时,自动提取页面中的其他详情页链接加入采集队列,一个接一个不断循环,最终实现整站文章的批量采集。


配置步骤:

1)用高级模式创建采集任务,起始网址输入一个详情页地址;

2)打开详情提取器,开启 "无限点选开关",再点选包含目标链接的区域;

3)打开 "无限循环启用配置" ,勾上启用选项后保存,启动采集。




4.JSON格式采集

检查是否提供JSON格式的页面,它通常包含多个详情页的网址和内容,并且JSON页面的URL地址呈数字递增规律变化,可批量生成地址进行采集。



(1)获取JSON页面地址

在浏览器访问目标网址 -> 启用开发者工具(F12或右键检查)-> 切换到 "Network",选择 "XHR" 选项 -> 点击加载更多按钮,或者滚动下拉页面,加载更多内容 -> 在开发者工具出现相应的JSON文件地址,点击文件名后可获取完整地址,即Request URL属性值。



(2)采集JSON数据

根据JSON格式的内容,可分为两种采集方式:“提取JSON中的详情页网址” 和 “直接采集JSON里的内容” 。

I)提取详情页网址

JSON数据的内容仅有精简的基本信息(如ID、标题和详情页链接等),完整的内容需通过访问详情页获取。


配置步骤:

1)用高级模式创建采集任务,批量生成JSON页面的URL网址;

2)打开列表提取器,选择【Json数据】网址类型;

3)【提取JSON键名】填写与详情页链接地址相关的属性名(通常为url、id、ArticleId等);

4)【链接生成定义】组合完整的详情页网址,若提取的键名值是完整网址,则留空;

上图示例应填写http://www.域名.com/news/#[ArticleId]#.html

5)完善详情页采集规则配置,启动采集。


II)直接采集内容

若JSON数据中包含多个文章页面的主要信息(如标题、正文、时间、描述和关键词等),则可直接遍历采集每篇文章中的目标字段。


配置步骤:

1)在采集任务列表【创建采集任务(高级模式)】-> 起始网址输入JSON页面的URL地址 -> 选择【Json数据源】采集模式,保存;

2)点击【JSON提取器(采内容)】进入提取规则配置;

3)在可视化JSON数据树,选择包含要采集数据的节点(必须Array类型),选中后为蓝色底框;

4)点击右侧【填到“提取数据的JSON表达式”】,自动生成表达式并填到上方对应选项框;

5)【要提取的字段名】可点击右侧的 "获取生成字段",自动获取节点内的全部字段名,也可手动输入目标字段名;

6)【判断数据重复的字段名】需从 "要提取的字段名" 的已有字段中选取,一般填写1个即可(多个用逗号,分隔);

7)保存后回到任务基本信息页,启动采集。