集搜客GooSeeker网络爬虫

标题: 如果翻页后需要延迟一段时间才出来数据爬虫会不会因为没抓到关键内容而中断? [打印本页]

作者: ray_zhurui    时间: 2016-9-11 00:37
标题: 如果翻页后需要延迟一段时间才出来数据爬虫会不会因为没抓到关键内容而中断?
爬虫路线可不可以设置翻页后等待一段时间再抓取数据?像连续动作里点击以后高级里可以设置延时一样。我发现翻页以后如果页面没刷新出来爬虫找不到关键内容就停止了。
作者: Fuller    时间: 2016-9-11 08:50
在会员中心,找到这个主题,设置调度参数,里面有两个参数,等待最短时间和最长时间,两个都要设置,而且最短时间应该小于最长时间,那么会在这两个时间之间找一个随机值进行等待
作者: ray_zhurui    时间: 2016-10-5 23:23
Fuller 发表于 2016-9-11 08:50
在会员中心,找到这个主题,设置调度参数,里面有两个参数,等待最短时间和最长时间,两个都要设置,而且最 ...

这个能不能搞得智能一点?有时候只是一两页刷新比较慢,数据出来得比较晚。不可能为了一两页而让所有网页抓取的时候都等一样的时间或者随机一个时间吧?
作者: Fuller    时间: 2016-10-5 23:39
ray_zhurui 发表于 2016-10-5 23:23
这个能不能搞得智能一点?有时候只是一两页刷新比较慢,数据出来得比较晚。不可能为了一两页而让所有网页 ...

发个网址出来我测试一下。最近为了提高抓取速度,修改了一些程序,等待功能本来是有的,现在修改以后,可能会过于快了。你发个网址,我测试一下。

想放慢速度的话,可以设置滚屏参数,把滚屏次数设置大一些
作者: ray_zhurui    时间: 2016-10-6 10:57
Fuller 发表于 2016-10-5 23:39
发个网址出来我测试一下。最近为了提高抓取速度,修改了一些程序,等待功能本来是有的,现在修改以后,可 ...

你看看我刚测试的规则:“lhbyytlog抓取”这个规则还有个前置的连续动作的规则"lhbyytlog",还要再加3级级规则采集2级规则采集的下级网址内的内容的。3级规则还没写,2级规则卡在一些加载比较慢的页面上了
作者: Fuller    时间: 2016-10-6 11:25
ray_zhurui 发表于 2016-10-6 10:57
你看看我刚测试的规则:“lhbyytlog抓取”这个规则还有个前置的连续动作的规则"lhbyytlog",还要再加3级级 ...

我加载测试了,确实观察到第二级采集过于快了,我正在想办法解决
作者: ray_zhurui    时间: 2016-10-6 12:53
本帖最后由 ray_zhurui 于 2016-10-6 12:57 编辑
Fuller 发表于 2016-10-6 11:25
我加载测试了,确实观察到第二级采集过于快了,我正在想办法解决

判断是否刷新完毕要做得智能一些貌似有点难度,除非指定一个参照参数,比如判断数据前的序列是否更新?其实本来就应该设置一个参照参数来让爬虫能判断数据完整性,不然漏抓了用户又不知道哪里漏了,想手工补全都不知道哪里缺失。
作者: Fuller    时间: 2016-10-6 16:53
ray_zhurui 发表于 2016-10-6 12:53
判断是否刷新完毕要做得智能一些貌似有点难度,除非指定一个参照参数,比如判断数据前的序列是否更新?其 ...

我测试了,当前版本是能解决这个问题的。在会员中心的调度参数里面,有一项“延迟抓取时间”,目前这个时间计算有错误,假设需要延迟10秒,那就填20秒。这个错误在8.0.2版本进行改正。现在把配置的数字乘2也可以用。

给第一个主题配置调度参数,然后用爬虫群模式采集这个网站,是可以的。

填写了这个参数以后,采集速度会变慢,采集的时候会增加延迟。
作者: ray_zhurui    时间: 2016-10-7 04:04
本帖最后由 ray_zhurui 于 2016-10-7 05:10 编辑
Fuller 发表于 2016-10-6 16:53
我测试了,当前版本是能解决这个问题的。在会员中心的调度参数里面,有一项“延迟抓取时间”,目前这个时 ...

如果是固定时常的话总是有局限性。
PS:我把三级规则都写好了 不过第一级规则连续动作没有在二级规则抓取数据前生效;三级规则的翻页好像也没生效,只抓了二级传过来的网页的第一页的数据。不知道什么原因。

lhbyytlog,lhbyytlog抓取,lhbyytlog抓取2   请帮忙看看什么原因


作者: Fuller    时间: 2016-10-7 10:35
ray_zhurui 发表于 2016-10-7 04:04
如果是固定时常的话总是有局限性。
PS:我把三级规则都写好了 不过第一级规则连续动作没有在二级规则抓取 ...

第三级没有设置“连贯抓取”
作者: Fuller    时间: 2016-10-7 10:40
如果不想硬等待,那么就要针对那个“加载中”图片做文章
[attach]1822[/attach]

在MS谋数台上,不要勾选工具条中部的“内容定位”,点击下一页,如果“加载中”状态比较久,赶快选择菜单 规则(老版本叫文件)-〉冻结页面,那么就冻结了,“加载中”就消失不了了。然后点击这个图片,就能点位到DOM上的IMG节点,就能生成xpath。

想办法用这个图片做为关键内容,这样就可以不用硬等待了。要给他自定义xpath,也不是那么容易,因为这个img总是在html中,要研究一下显示和不显示的区别,应该是用css控制的,把写到xpath中即可。

作者: ray_zhurui    时间: 2016-10-7 14:57
Fuller 发表于 2016-10-7 10:40
如果不想硬等待,那么就要针对那个“加载中”图片做文章

具体需要修改爬虫代码才能实现么?还是现在我在MS能抓取这个loading就ok?
作者: Fuller    时间: 2016-10-7 15:05
ray_zhurui 发表于 2016-10-7 14:57
具体需要修改爬虫代码才能实现么?还是现在我在MS能抓取这个loading就ok?

在MS中找到这个loading图,研究它的特点,写xpath就行了
作者: ray_zhurui    时间: 2016-10-8 09:07
本帖最后由 ray_zhurui 于 2016-10-8 09:14 编辑
Fuller 发表于 2016-10-7 15:05
在MS中找到这个loading图,研究它的特点,写xpath就行了

用xpath定位到这个loading图表后又能怎么样呢?
“想办法用这个图片做为关键内容,这样就可以不用硬等待了。”怎么理解?把他设为关键内容进行抓取?好像不是每次翻页都出现哦

作者: Fuller    时间: 2016-10-8 09:30
ray_zhurui 发表于 2016-10-8 09:07
用xpath定位到这个loading图表后又能怎么样呢?
“想办法用这个图片做为关键内容,这样就可以不用硬等待了 ...

不出现loading的时候就是加载完成了。

有loading的时候,应该是css里面的display控制的,可以判断这个值,定义一个抓取内容,设置关键内容选项,等待display变成“不显示”。
作者: ray_zhurui    时间: 2016-10-8 11:38
Fuller 发表于 2016-10-8 09:30
不出现loading的时候就是加载完成了。

有loading的时候,应该是css里面的display控制的,可以判断这个值 ...

具体有教程讲过么?
另外我已经在连续动作的目标主题名设置为2级规则的主题名了 不知道为什么2级规则集搜的时候1级规则的连续动作没生效。

作者: Fuller    时间: 2016-10-8 15:50
ray_zhurui 发表于 2016-10-8 11:38
具体有教程讲过么?
另外我已经在连续动作的目标主题名设置为2级规则的主题名了 不知道为什么2级规则集搜 ...

1级规则 -》2级规则,是这样的顺序关系,我不明白“2级规则集搜的时候1级规则的连续动作没生效”,2级不会返回来影响1级,你是不是说错?
作者: ray_zhurui    时间: 2016-10-8 16:07
Fuller 发表于 2016-10-8 15:50
1级规则 -》2级规则,是这样的顺序关系,我不明白“2级规则集搜的时候1级规则的连续动作没生效”,2级不 ...

1级连续动作不是选了近1年嘛,但是2级动作还是在默认的页面3个月里采集内容
作者: ym    时间: 2016-10-8 16:44
ray_zhurui 发表于 2016-10-8 16:07
1级连续动作不是选了近1年嘛,但是2级动作还是在默认的页面3个月里采集内容 ...

说明第一级规则就没有点击到“一年”,检查一下一级规则的连续动作,看看是xpath还是高级设置的问题
作者: Fuller    时间: 2016-10-8 17:12
ray_zhurui 发表于 2016-10-8 16:07
1级连续动作不是选了近1年嘛,但是2级动作还是在默认的页面3个月里采集内容 ...

主题名 lhbyytlog  ,能点击 “一年”,你遇到新问题了?

点击以后要等很久才能出现数据,要用会员中心的调度参数“延迟抓取时间”进行控制,不要抓早了
作者: ray_zhurui    时间: 2016-10-8 23:01
Fuller 发表于 2016-10-8 17:12
主题名 lhbyytlog  ,能点击 “一年”,你遇到新问题了?

点击以后要等很久才能出现数据,要用会员中心 ...

1级规则里额外延时设置了10秒的。我什么都没改刚才DS里激活后集搜lhbyytlog这个1级规则可以自动调用2级规则lhbyytlog抓取进行抓取数据了,可是只抓了第1页3遍后就退出了,哪里设置等待延迟?
作者: ray_zhurui    时间: 2016-10-8 23:14
本帖最后由 ray_zhurui 于 2016-10-8 23:15 编辑
Fuller 发表于 2016-10-8 17:12
主题名 lhbyytlog  ,能点击 “一年”,你遇到新问题了?

点击以后要等很久才能出现数据,要用会员中心 ...

2级规则还是抓太快了 loading图表还在就重复抓了3遍数据了 导致直接停止。你之前说通过判断loading图片来实现只能判断等待时间的方法能否详细说明一下?
作者: Fuller    时间: 2016-10-9 09:18
ray_zhurui 发表于 2016-10-8 23:14
2级规则还是抓太快了 loading图表还在就重复抓了3遍数据了 导致直接停止。你之前说通过判断loading图片来 ...

首先网速要比较快

然后设置会员中心的调度参数“延迟抓取时间”,设置长一点,确保等到数据才抓取
作者: ray_zhurui    时间: 2016-10-9 14:50
Fuller 发表于 2016-10-9 09:18
首先网速要比较快

然后设置会员中心的调度参数“延迟抓取时间”,设置长一点,确保等到数据才抓取 ...

这个延迟时间我设得很大了20s。但是我发现爬虫还是没等够20秒就开始抓了,还会出现重复抓取后退出的情况。




欢迎光临 集搜客GooSeeker网络爬虫 (https://www.gooseeker.com/doc/) Powered by Discuz! X3.2