连续动作要做多少个规则请文章《规划采集流程》

优采云 发布时间: 2021-08-27 18:15

  连续动作要做多少个规则请文章《规划采集流程》

  注意:如果动作执行前后网页结构没有变化,可以用一个规则完成;如果网页的结构前后发生变化,必须用两条或两条以上的规则来完成;另外,如果涉及翻页,必须拆分成两个或多个规则。连续动作规则数量请参考文章《规划采集procedures》。

  一、创建一级topic抓取目标信息

  建立一级主题的规则,将想要的信息映射到排序框。建议在内容映射完成后,还要进行定位标记映射,这样可以提高定位精度和规则的适应性。

  注意:如果设置了连续动作规则,则不需要构建排序框。比如方案2的一级主题不需要搭建排序框,而是用排序框抓取一点数据(选择网页肯定会显示的信息)。由爬虫判断是否执行采集,否则可能会漏掉网页。

  二、设置连续动作点击新建按钮新建一个动作,每个动作的设置方法相同,基本操作如下:

  2.1 输入目标科目名称

  连续动作指向同一个目标对象。如果有多个动作,要指向不同的主题,请拆分成多个规则,分别设置连续动作。

  2.2 选择动作类型

  本例为点击动作,不同动作的适用范围不同。请根据实际操作情况选择动作类型。

  2.3 将定位到动作对象的 xpath 填充到定位表达式中

  2.4 输入动作名称

  告诉自己这一步是做什么的,以便你以后可以修改。

  2.5 高级设置

  一开始不需要设置,以后调试连续动作时会用到,可以扩大动作的适用范围。如果需要抓取动作对象的信息,可以使用xpath在高级设置的内容表达式中定位动作对象的信息。请根据需要重新设置。

  注意:是否选择了动作类型以及xpath定位是否准确,决定了连续动作是否可以成功执行。 Xpath 是一种用于定位 html 节点的标准语言。使用连续动作功能前请自行掌握xpath。

  根据人工步骤,我们还需要选择版本和购买方式1、买方法2,所以我们继续新建3个动作,重复以上步骤。

  三、调试规则

  完成上述步骤后,单击“保存规则”,然后单击“抓取数据”按钮开始尝试捕获。发现采集报错:Unable to locate the node***。观察浏览器窗口,看到执行第一步时,没有加载其他信息。加载信息的时候,发现我点击了购买方式2之后,无法回到执行4步点击的页面,导致一直执行连续动作。

  针对以上情况,我们的解决方案是删除第四步。因为无论是否点击购买方式2,都不会影响商品的价格。因此,可以删除不必要的和令人不安的操作步骤。

  修改后,再次尝试捕捉。将提取的xml转换为excel后,看到价格和累计评价数据被抓取或抓取错误。这是因为网页太大,加载速度慢,点击后的数据需要等待一段时间才能加载。

  为了捕获所有数据,您需要延长等待时间并为每个动作单独设置延迟。单击操作步骤-> 高级设置-> 额外延迟,并输入一个以秒为单位的正整数。请按实际时间调试。

  另外,如果不是粘性窗口,采集时会反复点击。这是因为京东网站上有防爬措施,必须是当前窗口的操作才能生效。因此,在高级设置中勾选窗口可见,采集时窗口会在最上面。请根据实际情况设置。

  四、如何将抓取到的信息与动作步骤一一对应?

  如果要将捕获的信息与动作步骤一一关联,那么就必须提取动作对象的信息。有两种方式:

  4.1 使用xpath在连续动作的高级设置的内容表达式中定位动作对象的信息节点。

  定位表达式定位到动作对象的整个操作范围后,还收录了自身的信息。因此,内容表达只需要从定位的动作对象开始,继续定位到它的信息。 采集会在actionvalue中记录step动作的信息,对应actionno,记录动作执行的次数。

  4.2 抓取整理框中动作对象的信息,这里也是用xpath定位。

  当action对象被执行时,它的dom结构发生了变化。找到网页变化的结构特征,使用xpath准确定位节点,验证通过后可以设置自定义xpath。

  以上是使用连续动作模拟人工操作的全过程。虽然过程比较繁琐,但只要细心耐心,最终还是可以征服你想要爬取的网页。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线