利用重加载防止采集微博博主消息列表中断

2021-1-29 17:48| 发布者: Fuller| 查看: 8070| 评论: 1

摘要: 采集微博博主的所有微博需要翻页,而且需要开启网络爬虫软件的自动滚屏功能。因为微博博主发布的微博消息列表很长,不滚屏就不会加载完整。翻页和滚屏过程中会遇到加载内容中断,比如,加载内容的旋转图标一直在旋转 ...

配套软件版本:V10.2.1 及更高 数据管家——增强版网络爬虫

老版本对应教程:V9及更低 集搜客网络爬虫 没有对应功能


采集微博博主的所有微博需要翻页,而且需要开启网络爬虫软件的自动滚屏功能。因为微博博主发布的微博消息列表很长,不滚屏就不会加载完整。

翻页和滚屏过程中会遇到加载内容中断,比如,加载内容的旋转图标一直在旋转,但是显示不出来更多新内容;有时候整个消息列表都不显示。此时,如果点击集搜客爬虫浏览器的重新加载按钮,网页内容有可能就重新加载全了。

为了解决这个问题,集搜客网络爬虫软件(也叫数据管家)从V10.2.1开始增加了按照网页上的标志启动重新加载。在每一页上,最多重新加载一次。

1. 创建重新加载标志

重新加载标志是一个普通的抓取内容,名字也是任意可取的,如下图,创建了一个抓取内容,命名为:加载标志

完整的操作步骤是这样的:

1. 创建一个抓取内容,并在上图圆圈处双击,打开设置窗口

2. 勾上重加载标志的“启用”,就会显示出来两个选项:出现则加载和未见则加载。本文选择“未见则加载”,因为假定加载不全的话,下面的翻页条就显示不出来,所以可以作为加载标志,没有显示出来就激发一次重新加载网页操作。上图红框中的元素代表翻页条,用这个元素节点映射给“加载标志”这个抓取内容,这是一个普通的内容映射

注意:凡是“未见则加载“的抓取内容一定不能勾选”关键内容“,否则就会因为爬虫规则不符合而抓取失败,也就不会执行重加载了。

2. 运行网络爬虫

同运行普通的采集任务一样,而且在正常情况下也不会触发重新加载。如果发生重新加载,采集结果文件会生成两次,第二次对应重新加载后的采集结果。

还可以实时观察是否出现重新加载,如下图,鼠标浮在进度球上,会显示动态刷新的状态信息,红框里面的状态会不断闪动,如果显示“重采“,那么就触发了重新加载过程


3. 局限性

并不是所有翻页可以通过重新加载防止中断。在设置这个选项的时候,先要在浏览器中观察一下每个分页的网址,网址中是否含有页码信息。如果每个分页的网址都不同,即使没有明显的页码信息,一般是能重新加载的。可以尝试把其中一个分页的网址拷贝出来,在一个新建的浏览器tab中加载这个网址,观察是否能显示这个分页的内容。

有些网站的每个分页的网址一模一样,翻页的时候网址不变,这种是无法执行重加载的,很可能一重加载就会从头开始翻页了。




鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

评论 Fuller 2021-1-29 18:05
还有一个操作起来更容易的方法:导出结果数据,在realpath字段找到最后一条网址,这条网址含有翻页中断的页码,把这条网址添加到采集任务中,爬虫就能接着采集。看起来是手工操作,但是要比定义到采集规则中容易得多,参看这个帖子的讨论: https://www.gooseeker.com/doc/thread-18343-1-1.html

查看全部评论(1)

GMT+8, 2024-12-4 20:02