一、什么是备用元素
备用元素,也就是在当前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:点击【循环网址】步骤,点击
注意:备用位置仅适合变化情况较少的网页。若网页变化过多,情况复杂,建议通过修改XPath来解决漏字段问题。 以上示例也可以通过修改XPath解决。查看 字段提取不到,字段提取错位如何处理?
三、多元素并列设置
当我们遇到集合类网站时,常常详情页数据来源于多个其他站点,此时,统一xpath就无法完全定位所需数据,遇到这种场景,我们该怎么办呢? 场景示例网站:https://www.shaanxi.gov.cn/sxsearch/search.html?tenantId=16711&code=1920ae4af69&searchWord=%E9%99%95%E8%A5%BF特别说明: a. 我们发现这个政府网站下会集合其他网站公告,而且不止一个网站,备用元素设置一个是不够的。接下来我们跟随案例进行解析。
1. 列表进详情任务配置
我们先初步手动配置好任务,目标字段是详情页标题,详情链接,发布时间,来源,正文。特别说明: a. 详情页标题,详情链接,发布时间,来源字段都可以在列表页提取,由于列表页比较稳定,此些字段优先考虑列表页,后续正文再在详情页提取。 b. 基础配置请参考:初级采集初步执行。
特别说明: a. 通过执行任务发现,只有我们设置的详情页站点可以采集到,其他都无法采集。
2.记录xpath,巧用“|”符号
首先解释“|”符号,这个在xpath语句中可以理解为并列,即用此符号连接xpath,则两xpath都可定位。 按照此案例分析,我们只需要尽量将各个详情页的xpath定位到后用“|”拼接即可。 ①挨个点击进入详情页。 ②点击采集正文(目的识别界面正文的xpath)。 ③将xpath复制后用“|”拼接到原字段。特别说明: a. 由于子站点很多,这边目前就以前几条详情页作为案例展示。 b.xpath是什么?请关注:Xpath入门
3.执行展示效果
特别说明: a. 此案例只以正文为例,后续扩展若是详情页多字段需要采集,可以类比操作。作者:FAN、YfY
