八爪鱼云采集原理以及规则加速设置教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
八爪鱼云采集原理以及规则加速设置教程
对于旗舰版以上的用户,可以通过云采集实现多任务并发和单任务加速的采集效果,以便用户快速的收集整理互联网公开数据。本教程主要讲云采集原理、规则加速设置。
一、云采集原理
A.一个规则任务进行云采集最少占用一个云节点,最多可以占满所有云节点
B.一个规则任务满足可拆分成子任务的情况下,最多拆成199个子任务
C.一个子任务占用一个节点,子任务全部执行完成意味着任务完成
D.一个规则任务拆成多个子任务分配到不同云节点就达到加速采集的效果
E.如果云节点被占满,那么新启动的任务或被拆分的子任务会进入等待队列,直到用户某个云节点执行完用户的某个任务释放出节点资源,
图 1 云采集运行中
如图红线处任务分配到云节点,多任务并发采集数据,如图红框处,由于节点被占满,只能进入等待队列,等待某个云节点执行完成后释放资源。
二、云采集加速设置
由云采集原理D可知,如果要一个任务加速采集的效果,那么这个任务要满足拆分条件或者将任务改成满足拆分条件的任务,这样才能达到单任务加速的效果。
满足拆分条件的任务分别为:
A.URL列表循环
B.文本列表循环
C.固定元素列表循环
1、URL 列表循环、文本循环
示例网址:/search/category/15/30
对于非AJAX 网站,以大众店铺为例,假设我要采集该网站所有分类下的店铺,那么我们可先采集分类的URL ,然后做URL 循环进行采集店铺信息,具体步骤如下: 步骤1 :以先将所有具体分类采集下来,如图2 采集点评分类URL
图 2 采集点评分类URL
小贴士 采集完分类的URL 后,我们就可以将这个
URL 作为URL 循环进行数据提取,这样的话,通过八爪鱼自动拆分任务,就可以将不同的URL 拆分成不同的子任务分配给不同的云节点进行数据采集,达到单任务加速的采集效果
步骤2 :通过步骤1的采集,将URL 建立URL 循环进行数据采集,具体如截图3 URL 循环列表
图3 URL 循环列表采集
步骤3
:
对比效果,如图4 本机采集和URL 循环列表云采集采集效率对比
图4 云采集采集速率
小贴士云采集除了采集效率比本机采集高之外,还能节省用户自身电脑与网络资源,与本地采集消耗用户本地电脑资源和网络资源相比,云采集所用资源都是云节点资源,用户启动云采集后就可关闭客户端,八爪鱼会自动将数据整理汇总在八爪鱼客户端,用户只需要在数据提取到后,通过客户端查看或导出数据即可
结语:URL循环的教程已经讲完,对于文本循环来说,原理和URL循环一致,通过对文本循环的拆分,达到单任务加速采集的效果,从而提升采集速率
2、固定元素列表循环
固定元素列表循环也是满足拆分条件的,需要的是固定元素列表循环点击配合一起使用,固定元素列表例如:
图5 固定元素列表-点击元素
但是下列情况是不会加快采集速率的,例如:
图 6 固定元素列表-提取数据
原因是因为固定元素列表-提取数据虽然可以拆分成子任务,但是因为提取同页面数据操作本身很快,所以几乎没有任务加速效果
例如:
子任务A:打开网页(20s)-提取位置a数据(0.1s)
子任务B:打开网页(20s)-提取位置b数据(0.1s)
子任务C:打开网页(20s)-提取位置c数据(0.1s)
......
子任务N:打开网页(20s)-提取位置n数据(0.1s)
如上例,虽然拆分了任务但是实际任务执行时间还是约等于21秒左右,和不拆分任务的时间比较的如下:
总任务S:
打开网页(20s)
提取位置a数据(0.1s)
提取位置b数据(0.1s)
提取位置c数据(0.1s)
......
提取位置n数据(0.1s)
此时我们可以看到,不拆分的时间T=20+0.1*10=21S
所以虽然此时我们用不固定元素拆分了任务,但是没有带来显著的提取数据效率的提升
对于固定元素列表-点击元素就不一样了,因为点击元素往往都要打开详情页,例如:
子任务A:打开网页(20s)-点击位置元素a(20s)-提取位置a数据(0.1s)
子任务B:打开网页(20s)-点击位置元素b(20s)提取位置b数据(0.1s)
子任务C:打开网页(20s)-点击位置元素c(20s)-提取位置c数据(0.1s)......
子任务N:打开网页(20s)-点击位置元素n(20s)n--提取位置n数据(0.1s)由于是子任务是同时执行的,此时时间T=20+20+0.1=40.1S,约41秒左右
固定元素列表-点击元素,不拆分任务时的时间比较如下:
总任务S:
打开网页(20s)
点击位置元素a(20s)-提取位置a数据(0.1s)
点击位置元素b(20s)-提取位置b数据(0.1s)
点击位置元素c(20s)-提取位置c数据(0.1s)
.....
点击位置元素n(20s)-提取位置n数据(0.1s)
此时我们可以看到,不拆分的时间T=20+(20+0.1)*n
当n=10时,T=221S,与拆分的41S比较,耗时几乎是拆分的5倍
综上所述:
满足拆分条件的任务分别为:
A.URL列表循环
B.文本列表循环
C.固定元素列表循环
相关采集教程:
京东商品信息采集
新浪微博数据采集
豆瓣电影短评采集
八爪鱼——70万用户选择的网页数据采集器。
1、操作简单,任何人都可以用:无需技术背景,会上网就能采集。完全可视化流程,点击鼠标完成操作,2分钟即可快速入门。
2、功能强大,任何网站都可以采:对于点击、登陆、翻页、识别验证码、瀑布流、Ajax脚本异步加载数据的网页,均可经过简单设置进行采集。