优采云云采集原理和规则加速设置tutorial.docx
优采云 发布时间: 2020-08-06 21:00文档简介:
优采云云采集原理与规则加速设置教程
对于旗舰版以上的用户,可以使用云采集来实现多任务并发和单任务加速采集效果,以便用户可以快速采集和组织Internet公共数据. 本教程主要讨论云采集原理和规则加速设置.
首先,云采集的原理
A. 云采集的规则任务至少占用一个云节点,最多可以占用所有云节点
B. 如果规则任务可以拆分为多个子任务,则最多可以拆分为199个子任务
C. 子任务占据一个节点,所有子任务的完成意味着该任务已完成
D. 常规任务分为多个子任务,并分配给不同的云节点,以达到加速采集的效果
E. 如果云节点已满,则新启动的任务或拆分子任务将进入等待队列,直到用户的某个云节点完成执行用户的特定任务并释放节点资源为止.
图1运行中的云采集
图中红线所示的任务已分配给云节点,并且多任务同时采集数据. 在图中的红色框处,由于节点已满,因此它只能进入等待队列并等待云节点的执行以释放资源.
二,云采集加速设置
根据云采集原理D,我们知道,如果一项任务是要加快采集效果,那么该任务必须满足拆分条件,或者必须将该任务更改为满足拆分条件的任务才能实现单任务加速的效果.
满足拆分条件的任务是:
A.URL列表循环
B. 文本列表循环
C. 固定元素列表循环
1,URL列表循环,文本循环
示例网址: rch / category / 15/30
对于一个非AJAX网站,以一家公共商店为例,假设我要采集该网站类别下的所有商店,那么我们可以先采集分类的URL,然后进行URL循环采集商店信息. 具体步骤如下:
第1步: 首先采集所有特定类别,如图2所示,以采集评论类别URL
图2集合和评论类别URL
提示采集分类的URL后,我们可以将此URL用作URL循环进行数据提取. 这样,通过优采云的自动拆分任务,可以将不同的URL拆分为不同的子任务. 将Task分配给不同的云节点进行数据采集,以达到单任务加速采集的效果
步骤2: 通过步骤1的采集,建立URL循环以进行数据采集,如屏幕快照3 URL循环列表所示
图3 URL周期列表集合
步骤3: 效果比较,如图4所示,本地集合和URL循环列表云集合之间的集合效率比较
图4云采集率
提示: 除了比本机采集更高的采集效率外,云采集还可以节省用户自己的计算机和网络资源. 与消耗用户本地计算机资源和网络资源的本地集合相比,云集合使用所有云资源. 节点资源,用户可以在开始云采集后关闭客户端,优采云会自动在优采云客户端中整理数据,用户只需要在提取数据后通过客户端查看或导出数据
结论: URL循环教程已完成. 对于文本循环,其原理与URL循环相同. 通过拆分文本循环,可以实现单任务加速的效果,从而提高采集率
2,固定元素列表循环
固定元素列表循环也满足拆分条件. 需要的是将固定元素列表循环单击一起使用,例如:
图5固定元素列表-单击元素
例如,以下情况不会加快采集速度:
图6固定元素列表-数据提取
原因是因为固定元素列表提取数据可以拆分为子任务,但是由于提取相同页面数据的操作非常快,因此几乎没有任务加速效果
例如:
子任务A: 打开网页(20s),提取位置数据(0.1s)
子任务B: 打开网页(20s)-提取位置b数据(0.1s)
子任务C: 打开网页(20s)-提取位置c数据(0.1s)
......
子任务N: 打开网页(20s)-提取位置n数据(0.1s)
与上面的示例一样,尽管任务被拆分,但实际任务执行时间仍约为21秒. 与不分割任务的时间的比较如下:
总任务S:
打开网页(20秒)
提取位置数据(0.1秒)
提取位置b数据(0.1秒)
提取位置c数据(0.1秒)
......
提取位置n个数据(0.1秒)
这时,我们可以看到没有分裂的时间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:
打开网页(20秒)
点击位置元素a(20s),提取位置a数据(0.1s)