八爪鱼·云采集服务平台 www.bazhuayu.com 八爪鱼云采集原理以及规则加速设置教程 对于旗舰版以上的用户, 可以通过云采集实现多任务并发和单任务加速的采集效果, 以便用 户快速的收集整理互联网公开数据。本教程主要讲云采集原理、规则加速设置。 一、云采集原理 A.一个规则任务进行云采集最少占用一个云节点,最多可以占满所有云节点 B.一个规则任务满足可拆分成子任务的情况下,最多拆成 199 个子任务 C.一个子任务占用一个节点,子任务全部执行完成意味着任务完成 D.一个规则任务拆成多个子任务分配到不同云节点就达到加速采集的效果 E.如果云节点被占满,那么新启动的任务或被拆分的子任务会进入等待队列,直到用户某个 云节点执行完用户的某个任务释放出节点资源, 八爪鱼·云采集服务平台 www.bazhuayu.com 图 1 云采集运行中 如图红线处任务分配到云节点,多任务并发采集数据,如图红框处,由于节点被占满,只能 进入等待队列,等待某个云节点执行完成后释放资源。 二、云采集加速设置 由云采集原理 D 可知,如果要一个任务加速采集的效果,那么这个任务要满足拆分条件或 者将任务改成满足拆分条件的任务,这样才能达到单任务加速的效果。 满足拆分条件的任务分别为: A.URL 列表循环 B.文本列表循环 八爪鱼·云采集服务平台 www.bazhuayu.com C.固定元素列表循环 1、URL 列表循环、文本循环 示例网址:http://www.dianping.com/search/category/15/30 对于非 AJAX 网站,以大众店铺为例,假设我要采集该网站所有分类下的店铺,那么我们可 先采集分类的 URL,然后做 URL 循环进行采集店铺信息,具体步骤如下: 步骤 1 :以先将所有具体分类采集下来,如图 2 采集点评分类 URL 图 2 采集点评分类 URL 小贴士 采集完分类的 URL 后,我们就可以将这个 URL 作为 URL 循环进行数据提取,这样 的话,通过八爪鱼自动拆分任务,就可以将不同的 URL 拆分成不同的子任务分配给不同的 云节点进行数据采集,达到单任务加速的采集效果 八爪鱼·云采集服务平台 www.bazhuayu.com 步骤 2 :通过步骤 1 的采集,将 URL 建立 URL 循环进行数据采集,具体如截图 3 URL 循 环列表 图 3 URL 循环列表采集 步骤 3: 对比效果,如图 4 本机采集和 URL 循环列表云采集采集效率对比 八爪鱼·云采集服务平台 www.bazhuayu.com 图 4 云采集采集速率 小贴士 云采集除了采集效率比本机采集高之外,还能节省用户自身电脑与网络资源,与本 地采集消耗用户本地电脑资源和网络资源相比, 云采集所用资源都是云节点资源, 用户启动 云采集后就可关闭客户端, 八爪鱼会自动将数据整理汇总在八爪鱼客户端, 用户只需要在数 据提取到后,通过客户端查看或导出数据即可 结语:URL 循环的教程已经讲完,对于文本循环来说,原理和 URL 循环一致,通过对文本 循环的拆分,达到单任务加速采集的效果,从而提升采集速率 2、固定元素列表循环 固定元素列表循环也是满足拆分条件的, 需要的是固定元素列表循环点击配合一起使用, 固 定元素列表例如: 八爪鱼·云采集服务平台 www.bazhuayu.com 图 5 固定元素列表-点击元素 但是下列情况是不会加快采集速率的,例如: 八爪鱼·云采集服务平台 www.bazhuayu.com 图 6 固定元素列表-提取数据 原因是因为固定元素列表-提取数据虽然可以拆分成子任务,但是因为提取同页面数据操作 本身很快,所以几乎没有任务加速效果 例如: 子任务 A:打开网页(20s)-提取位置 a 数据(0.1s) 子任务 B:打开网页(20s)-提取位置 b 数据(0.1s) 子任务 C:打开网页(20s)-提取位置 c 数据(0.1s) ...... 八爪鱼·云采集服务平台 www.bazhuayu.com 子任务 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) 八爪鱼·云采集服务平台 www.bazhuayu.com 子任务 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 倍 八爪鱼·云采集服务平台 www.bazhuayu.com 综上所述: 满足拆分条件的任务分别为: A.URL 列表循环 B.文本列表循环 C.固定元素列表循环 相关采集教程: 京东商品信息采集 新浪微博数据采集 豆瓣电影短评采集 八爪鱼——70 万用户选择的网页数据采集器。 1、操作简单,任何人都可以用:无需技术背景,会上网就能采集。完全可视化 流程,点击鼠标完成操作,2 分钟即可快速入门。 2、功能强大,任何网站都可以采:对于点击、登陆、翻页、识别验证码、瀑布 流、Ajax 脚本异步加载数据的网页,均可经过简单设置进行采集。 八爪鱼·云采集服务平台 www.bazhuayu.com 3、云采集,关机也可以。配置好采集任务后可关机,任务可在云端执行。庞大 云采集集群 24*7 不间断运行,不用担心 IP 被封,网络中断。 4、功能免费+增值服务,可按需选择。免费版具备所有功能,能够满足用户的 基本采集需求。同时设置了一些增值服务(如私有云),满足高端付费企业用户 的需要。