python爬取今日头条瀑布流_应用场景描述:连续滚屏抓取瀑布流网页

1. 场景描述

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

那么连续滚屏主要用于:

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

永远翻不到底,比如,今日头条

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

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

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

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

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

请注意:美丽说这个网页不是真正的瀑布流网页,只滚屏5次就到底了,所以,其实不用连续动作的滚屏,只需在DS打数机上打开滚屏就足够了。这里只是示例目的

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

从一个抓取规则开始,加载网页,并抓取生成了一个结果文件,这个文件是用第一个规则生成的,位于名字为“美丽说_演示连续滚屏”的文件夹中。

向下滚一屏,又生成了一个抓取结果文件,这个文件是用第二个规则生成的,位于名字为“美丽说_演示连续滚屏_更多”的文件夹中。

持续不断地重复上一步

定义第一级规则的时候,给滚屏次数做了限定,只滚动5次(如果填写-1,就是永远滚动)

当5次滚屏完成了,所有连续动作都结束了,则执行翻页操作。然后再次回到了第2步。

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

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

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

3. DS打数机运行选项

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

关闭自定滚屏功能:必须设置

打开根据重复内容强制中断的功能:根据需要选择是否设置

关闭自动滚屏功能

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

打开重复内容监测

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值