快捷导航
本帖最后由 ym 于 2017-2-8 15:06 编辑

常见问题 > 制作规则—常见问题导航 > 定位标志 > 做定位标志后抓到空白/重复的信息,怎么解决

情景:
如果输出信息有两个以上抓取内容是抓到相同的信息,或者抓到的是空白信息。

解决方法:
方法1:点击整理箱左侧定位修改首选项,选择绝对定位,然后再重新做内容映射就可以了。
定位.png

方法2:假如这几个信息共同的上层节点具有属性值(id或class),并且这个属性值是唯一的,这时不用修改整理箱首选项,重新做内容映射后,再把上层节点分别做定位标志映射给这几个信息的抓取内容,就可以解决。

原因分析:这几个信息的dom结构是相同的,例如下图,这个表里每一格的信息都是存在TD[@class='report1_5']下的#text节点里,它们的dom结构也都是相同的,对这种网页结构做规则,生成的数据规则里的xpath路径就会一样,爬虫是默认提取第一条信息,所以它们都抓到了一样的信息。
前面两个解决方法都是使这几个信息的xpath路径不同,然后就能采集到正确的信息了。
20151210213502.png

举报 使用道具
| 回复

共 2 个关于本帖的回复 最后回复于 2016-9-11 00:26

Alex11604 初级会员 发表于 2016-9-10 23:21:21 | 显示全部楼层
绝对定位指的是不是定位到定位编号上面
举报 使用道具
Fuller 管理员 发表于 2016-9-11 00:26:29 | 显示全部楼层
Alex11604 发表于 2016-9-10 23:21
绝对定位指的是不是定位到定位编号上面

定位编号只是临时的,在MS谋数台上为了方便找一个dom节点,给所有节点按顺序编了号。但是,在生成采集规则的时候不再使用这个编号。

绝对定位是指xpath的写法:从html节点开始一直写到目标节点

而相对定位是指从某个节点开始,通常是这样 //div[@class='xxx']/xxxxx,最前面是双斜线,不是从html开始
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 机器学习算法入门介绍
  • 中文分词入门和分词工具汇总攻略
  • 自然语言处理NLP的一般处理流程
  • 关于鸿蒙操作系统的知乎讨论热点分析
  • 采集知乎上关于华为鸿蒙的问题和回答

热门用户

GMT+8, 2019-10-15 09:42