我们在提取一批相似网址时,页面中的字段一般是在同一位置,通过同一条定位XPath可以将其全部匹配到。
但是存在这样一种情况,同一字段在不同页面的位置略有不同。此时,我们可以尝试通过备用位置解决。例如,一个字段,在A页面和B页面的位置不同,那么可以用A页面字段的位置做规则提取字段,然后将B页面字段的位置设为备用位置。这样,AB两个页面的字段就都能被提取到。
示例网站:
https://www.alibaba.com/product-detail/Clothes-Clothes-Dresses-Women-Fall-2021_1600279897255.html?spm=a2700.galleryofferlist.topad_classic.d_title.74aaf9b0OnMfJr
https://www.alibaba.com/product-detail/Wholesale-Latest-Type-2Pcs-Set-Clothes_1600345611603.html?spm=a2700.galleryofferlist.normal_offer.d_title.74aaf9b0OnMfJr&s=p
Step1:按照需求,采集数据。这里我们采集这2个商品详情页的标题、价格
Step2:启动采集看一下,第2个商品详情页的价格并未采集到。这是因为第2个商品详情页的网页结构和第1个不同,第1个详情页的价格定位XPath,不适用第2个商品详情页了。
Step3:我们可以通过设置备用位置,解决这个问题。
点击【循环网址】步骤,点击 按钮,选择第2个网址,再点击【打开循环中的网页】,打开第2个商品详情页。
点击【提取数据】步骤,在数据预览区域,找到【价格】字段,点击【价格】字段后的 按钮,点击【修改元素定位】,进入到修改元素定位界面,勾选【尝试备用位置】,点击按钮,然后选中页面中的【价格】字段,可以看到,输入框自动填充了定位XPath。点击【应用】保存。
Step4:启动采集看一下,2个商品页的价格字段都被正常采集下来了,备用位置设置成功。
注意:备用位置仅适合变化情况较少的网页。若网页变化过多,情况复杂,建议通过修改XPath来解决漏字段问题。
以上示例也可以通过修改XPath解决。查看 字段提取不到,字段提取错位如何处理?
文章评论