怎样解决规则采集失败/遗漏的问题?

2016-6-13 18:07| 发布者: ym| 查看: 18411| 评论: 0

摘要: 大部分新手做出来的规则,能采到数据,但都会遇到采集失败或遗漏的情况,根本原因是规则不够完善,要采到准确无误的数据是需要经验和技巧的,另外,各个网站结构也是存在差异的,所以,别以为做好规则就能高枕无忧了 ...

大部分新手做出来的规则,能采到数据,但都会遇到采集失败或遗漏的情况,根本原因是规则不够完善,要采到准确无误的数据是需要经验和技巧的,另外,各个网站结构也是存在差异的,所以,别以为做好规则就能高枕无忧了,我们还要通过试抓去调试规则,确保采到完整的数据,所以,下面给大家介绍怎样调试规则。

一、怎样查看采集失败的线索网址?

首先要找到采集失败的网址,再来与规则进行匹配,有如下两种方法:

1.1 根据DS打数机底部日志的线索编号加载规则

每条网址都会有个线索编号clueid,当采集失败时, DS打数机底部就报错,错误提示也是各有不同的,所以,我们可通过这个线索编号找到采集失败的网址。

到MS谋数台上的工具菜单->加载规则->按线索编号,输入线索编号就能把失败网址和规则都加载出来,操作如下图。

注意:要在MS谋数台上找这个菜单,GS浏览器上没有这个菜单,这个帖子说明了怎样启动MS谋数台《根据线索编号加载规则分析失败原因

1.2 登录会员中心查看采集失败的网址

登录集搜客官网的会员中心->爬虫管理->规则管理,不仅可以监控到各个规则的采集情况,还可以查看采集失败的线索网址。

到MS谋数台加载规则后,把会员中心查看到采集失败的一条网址拷贝到网址框中,滚动网页直至加载完全后,再点击文件菜单->刷新网页结构->分析页面。

二、把网页与规则匹配,看看错在哪里

2.1 每个规则都是由整理箱、爬虫路线、连续动作这三个部分组成的,如果规则与网页结构不匹配,在输出信息窗口中就会提示无法定位***,要具体看看是哪个部分的报错。

2.2 如果是网页没加载完整造成定位失败的情况请看这篇文章解决加载抓取规则遇到的错误;如果是网页结构不同或改变而导致定位失败,请往下看。

2.3 加载抓取规则遇到的错误:说明是整理箱的抓取内容定位失败,无法定位抓取内容No.0、No.1…等等,这些序号与整理箱中的序号一致,根据这个序号就知道整理箱中的哪个抓取内容是失效了,再具体分析其失效的原因。

2.4 加载爬虫路线遇到的错误:说明爬虫路线窗口中的线索定位失败。这可能是线索定位不合适,或者是网页结构有所不同。

三、如何修改规则?

3.1 对于爬虫路线定位失败的情况

请分析网页上线索映射范围的差别,然后通过调整映射及修改线索定位、自定义xpath等方法解决,参考教程修改爬虫路线的xpath翻页失败的原因分析一个页面重复采集的解决方法

3.2 对于连续动作执行失败的情况,可有以下解决方法:

连续动作执行失败或不执行,可参见集搜客网络爬虫之连续动作常见错误。简单总结错误情况,有以下几点:

1、连续动作的原理就是模拟人浏览网页数据的操作,所以,连续动作的步骤和顺序要与人的操作顺序一致,注意:部分网页会涉及鼠标悬浮的隐性动作,在自定义xpath准确的情况下,请多测试一下动作步骤及顺序。

2、如果是施加动作后再来翻页,那么就要拆成两级规则执行,第一级规则设置连续动作,第二级规则才是建整理箱抓数据并设置翻页。

3、要在MS谋数台的xpath搜索框中测试一下自定义的xpath是否定位到所有动作施加的节点,注意:动作施加的节点要选择合适的节点,一般不要定位到text()节点,在排除前面原因的情况下,请调整xpath定位再做测试。

4、采集时DS打数机窗口不够大,导致需要点击的网页位置没有显示出来,程序找不到要点击的位置,就会报错,这种情况多见于使用笔记本电脑,因为屏幕太小。解决方法:可以选择“集搜”或者使用“爬虫群”,并最大化DS打数机窗口,确保需要点击的网页位置可见。

3.3 对于整理箱定位失败的情况

1、找出网页结构的区别

关键是找出网页结构的差异,具体就是把采集失败的网页与采集成功的网页做对比观察,下面简单介绍一下观察结构的方法,详情参看教程网页分析工具

1)用火狐浏览器的工具菜单->web开发者->查看器(Ctrl+Shift+C),点击网页信息,观察其html结构,并与采集成功的网页做对比,分析网页结构上的差异。

2)用MS谋数台来对网页结构进行分析。加载规则,切换新网址,再点击文件菜单->刷新网页结构(Ctrl+Shift+R),然后点击网页信息,对比其它网页,观察网页结构上的差异。

3)看得懂xpath的话,在MS里对规则重新做映射,然后与初始的数据规则做对比,观察数据规则中的xpath路径,从而找出网页结构的差异。

2、优化映射或自定义xpath

1)如果抓取内容的结构没有差别,那么可能是上层的网页结构不同

这种情况需要调整整理箱的层次结构,并对整理箱做定位标志映射,作用是精确采集范围。选择具有@class或@id属性值的节点,用它做定位标志映射,操作参看教程定位标志

2)如果有些网页上没有某部分信息

方法一:找个信息齐全的样本网页来做规则,并且做上定位标志映射,可提高精确度与网页适应性,并且不要把可能没有的信息设置为关键内容。参看教程定位标志

方法二:通过自定义xpath来解决,具体参看自定义xpath:精确采集

3)如果是非常不同的网页结构

例如淘宝和天猫的商品页面,就要对每种网页结构都做一个规则,用同一个主题名、不同规则编号来命名。每个规则要把独有的信息作为抓取内容并设置为关键内容,作为爬虫判断哪个规则采集哪种网页结构的依据。参看教程怎样采集同一网站的不同网页结构信息

4)如果抓到重复信息或者空白信息

说明网页上有多个结构相同的信息,爬虫默认抓到了第一个结构的信息。这种情况可以修改整理箱定位,或者对整理箱都做上定位标志映射。具体参看修改整理箱定位


若有疑问可以集搜客网络爬虫
4

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (4 人)

相关阅读

最新评论

GMT+8, 2024-10-16 14:46