通常情况下我们在提取一批相似网址时,页面中的字段一般是在同一位置,通过同一条定位XPath可以将其全部匹配到。
但是存在这样一种情况,同一字段在不同页面的位置略有不同。此时,我们可以尝试通过备用位置解决。例如,一个字段,在A页面和B页面的位置不同,那么可以用A页面字段的位置做规则提取字段,然后将B页面字段的位置设为备用位置。这样,AB两个页面的字段就都能被提取到。
一、什么是备用元素
备用元素,也就是在当前xpath元素找不到的时候,启动备用的xpath,可以通过备用元素解决网页结构不一致导致采集漏字段的问题。
二、怎么设置备用元素
1.采集数据
示例网站:
https://fgw.sh.gov.cn/fgw_zcjd/20220822/ab80c123e81840c688ade0caa2f21a11.html
https://fgw.sh.gov.cn/fgw_zcjd/20220728/8802ea2324a643cbbfee5fc3b87dfad3.html
Step1:按照需求,采集数据。这里我们采集这2个详情页文章的标题、时间、正文链接
Step2:启动采集看一下,第2个详情页的【时间】字段并未采集到。这是因为第2个详情页的网页结构和第1个不同,第1个详情页的【时间】定位XPath,不适用第2个详情页了。
2.设置备用位置
我们可以通过设置备用位置,解决这个问题。
Step1:点击【循环网址】步骤,点击 按钮,选择第2个网址,再点击【打开循环中的网页】,打开第2个详情页。
点击【提取数据】步骤,在数据预览区域,找到【时间】字段,点击【时间】字段后的 按钮,点击【修改元素定位】,进入到修改元素定位界面,勾选【尝试备用位置】,点击按钮,然后选中页面中的【时间】字段,可以看到,输入框自动填充了定位XPath。点击【应用】保存。
Step2:启动采集看一下,2个详情页的【时间】字段都被正常采集下来了,备用位置设置成功。
注意:备用位置仅适合变化情况较少的网页。若网页变化过多,情况复杂,建议通过修改XPath来解决漏字段问题。
以上示例也可以通过修改XPath解决。查看 字段提取不到,字段提取错位如何处理?
作者:FAN