我正在寻求从网站上抓取特定的产品信息。然而,我想要的 XPATH 标准之一并没有出现在每个产品的页面上。(虽然所有产品都有名称、价格等,但有些没有显示推荐年龄)。
这不是问题,但是,当scrapy在shell中写入甚至返回数据时,它不再按照与start-url列表关联的顺序,也不会尊重某些url中缺少数据。因此,我的所有数据(不同变量的多列)都与新的年龄列不匹配,因为它更短且无序。当我只关注确实显示年龄的产品时,情况并非如此。
有没有办法让没有所需 XPATH 和年龄的页面返回一个空格以在我的数据中保持匹配的列顺序?
这是我的 XPATH 选择器:
item["age"] = hxs.select('//li[contains(@class,"our-age")]/span/text()').extract()
(有些网页没有年龄,因此完全没有路径。)