集搜客GooSeeker网络爬虫

标题: 求解:翻页错位 [打印本页]

作者: ovna123    时间: 2017-4-9 10:52
标题: 求解:翻页错位
页面中有2个板块都有分页信息,定义的第2个板块的翻页记号定位。保存规则后发现自动跑到了第1个板块的翻页记号定位。


作者: Fuller    时间: 2017-4-9 11:06
主题名是什么?我给你诊断一下
作者: ovna123    时间: 2017-4-9 11:19
企业信息终版branch
作者: ovna123    时间: 2017-4-9 11:20
发现2个板块的定位映射一样,所以定义了第2个板块,确跑到第1个板块去了。怎么解决?
作者: ovna123    时间: 2017-4-9 11:26
现在发现不光翻页记号,抓取内容定位都跑到第一个板块去了。
作者: ovna123    时间: 2017-4-9 11:49
现在问题的实质是:一个页面有多个板块,每个板块的定位映射相同(如第一层ng-binding,第二层intro-head,第三层companyinfo),然后一个板块中要抓取的各内容节点的映射又相同(如ng-scope),所以不得不采用定位映射+样例复制的嵌套整理箱,但这样用了之后,对第2个以及之后的板块定位,保存再加载后,发现要抓取的内容定位编号全变成了第1个板块对应内容的编号。
作者: Fuller    时间: 2017-4-9 11:59
ovna123 发表于 2017-4-9 11:49
现在问题的实质是:一个页面有多个板块,每个板块的定位映射相同(如第一层ng-binding,第二层intro-head, ...

[attach]6108[/attach]
每个板块,除了有class以外,还有id,可以如图那样分别选择。如果没有id用来区分,那么可以用自定义xpath,以板块的名称作为标志

作者: ovna123    时间: 2017-4-9 16:40
试着做了,对当前页面可以顺利抓取,但一重新加载,就提示失败,这样是不是对其他页面就不适用了?请大神指导下我这个具体案例应该怎样写xpath,才能抓“变更记录“。
作者: ovna123    时间: 2017-4-9 16:54
企业信息终版change

作者: ovna123    时间: 2017-4-9 17:50
"以板块的名称作为标志"是什么意思?
作者: xandy    时间: 2017-4-9 18:13
本帖最后由 xandy 于 2017-4-9 18:17 编辑
ovna123 发表于 2017-4-9 17:50
"以板块的名称作为标志"是什么意思?

先看看自定义xpath的教程,可以通过版块的关键词的进行定位,自定义xpath能够精确定位到你要抓取的版块。
例如:
  1. //*[class='xxx'][contains(.//text(),'变更记录')]
复制代码



作者: maomao    时间: 2017-4-9 18:35
ovna123 发表于 2017-4-9 16:54
企业信息终版change

这个规则我加载成功了。

其他板块也像这个变更记录一样做法,每个板块一个整理箱。所谓的板块名字就是“基本信息”,“企业关系”,“主要人员”,为了能够定位准确,在每个整理箱中专门增加一个抓取内容,用自定义Xpath,把板块名字用上,就像Xandy说的方法。专门用这个抓取内容为整理箱定位,就不会搞混各个板块

作者: ovna123    时间: 2017-4-9 19:01
嵌套容器中中间某个容器节点能不能用专用定位,为什么信息1选了专用定位,重新加载发现自动弃用了。
作者: ovna123    时间: 2017-4-9 21:30
为什么“企业信息终版change“测试只能抓到一条记录?




欢迎光临 集搜客GooSeeker网络爬虫 (https://www.gooseeker.com/doc/) Powered by Discuz! X3.2