应用场景描述:连续滚屏抓取瀑布流网页

2015-11-7 11:05| 发布者: Fuller| 查看: 16519| 评论: 2

摘要: 场景描述 很早以前的版本就有了自动滚屏功能,GooSeeker V5.4.0新增的连续滚屏是用于很长很长的瀑布流网页抓取的。如果一个网页不是很长,滚几次就能到底,比如,京东和淘宝上的商品详情有很多图片,需要滚好几屏才 ...

1. 场景描述

很早以前的版本就有了自动滚屏功能,GooSeeker V5.4.0新增的连续滚屏是用于很长很长的瀑布流网页抓取的。如果一个网页不是很长,滚几次就能到底,比如,京东和淘宝上的商品详情有很多图片,需要滚好几屏才能看到底,这类网页是不用连续滚屏的,打开自动滚屏功能就够了。

那么连续滚屏主要用于:

  1. 虽然能翻到底,但是你会发现要翻很久,而且会发现用自动滚屏功能抓到的内容只是最后一个片段,前面的内容没有了。比如,美丽说的最热商品
  2. 永远翻不到底,比如,今日头条

至于为什么有些网页滚屏到底只能抓到最后一段内容,那是因为这个网页为了节省内存,当往后滚屏的时候,前面的内容就从网页上删除了。

2. 规划一下定义几个抓取规则

《连续悬停鼠标抓取浮窗内容》一文,我们定义了两个抓取规则,一个是在动作前用的,一个是在动作后用的。而对于连续滚屏,我们就要纠结一下了。通常不管滚几次屏,网页结构还是保持一样,是否还需要两个抓取规则?

解答这个问题很简单,但是还是需要根据具体情形分别应对。

情形1——需要两个规则:滚屏到底有翻页的情形

分成两个抓取规则的原因是在美丽说_演示连续滚屏中还定义了翻页规则(请到爬虫线索工作台上去看),这样规划抓取规则后,会看到这样的执行步骤

  1. 从一个抓取规则开始,加载网页,并抓取生成了一个结果文件,这个文件是用第一个规则生成的,位于名字为“美丽说_演示连续滚屏”的文件夹中。
  2. 向下滚一屏,又生成了一个抓取结果文件,这个文件是用第二个规则生成的,位于名字为“美丽说_演示连续滚屏_更多”的文件夹中。
  3. 持续不断地重复上一步
  4. 定义第一级规则的时候,给滚屏次数做了限定,只滚动5次(如果填写-1,就是永远滚动)
  5. 当5次滚屏完成了,所有连续动作都结束了,则执行翻页操作。然后再次回到了第2步。


情形2——只要一个规则:不用翻页

如果抓取没有结尾的瀑布流,那么就不用定义两个抓取规则了。

如上图,抓取规则名是 今日头条_推荐新闻_抓瀑布流 ,在连续动作工作台输入的主题名是相同的,那么就只有一个抓取规则。同时可以看到,可以限定总共滚屏的次数,以及每次滚几下。

3. DS打数机运行选项

如果使用连续滚屏,DS打数机的两个设置十分重要:

  1. 关闭自定滚屏功能:必须设置
  2. 打开根据重复内容强制中断的功能:根据需要选择是否设置

关闭自动滚屏功能

因为连续滚屏是想滚一下抓一下,就不能把自动滚屏打开,否则会一口气滚到底。设置方法参看下图,只要把滚屏次数设置成 0 即可。这个参数也可以在crontab.xml文件中设置,用于周期性自动化采集情形。


打开重复内容监测

DS打数机不断地企图往下滚屏,必须告诉它什么时候停止,在MS谋数台上,可以限定滚多少屏就停止,如下图:

如果设置成-1,就是滚屏次数没有限制,那么必须在DS打数机上打开重复内容监测,一旦发现抓到的都是重复内容,就中断连续动作。

上图显示实际的运行情形,如果出现重复内容,就会在日志窗口显示告警消息。

5

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (5 人)

相关阅读

发表评论

最新评论

评论 maomao 2018-5-21 11:16
采集美丽说,用Gooseeker快捷采集,输入网址就可以采集了。不用写采集规则。方便快捷。入口:https://www.gooseeker.com/res/datadiy.html?category=%E7%94%B5%E5%95%86&web=%E7%BE%8E%E4%B8%BD%E8%AF%B4
评论 maomao 2018-5-21 11:14
采集今日头条,用Gooseeker快捷采集,输入网址就可以采集了。不用写采集规则。方便快捷。入口:https://www.gooseeker.com/res/datadiy.html?category=%E6%96%B0%E9%97%BB&web=%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1

查看全部评论(2)

GMT+8, 2024-10-16 15:07