如何从一个电子商务网站刮刮价格时,他们的路径变化提供在刮刮

2024-09-26 22:07:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力清理这个网站:

我的问题是,有两种类型的价格在2个不同的类别和路径是不同的。你知道吗

通常我会用

item['price'] = sel.xpath('.//*[@class="price_discount"]/text()').extract_first()

但对于这种情况,我还需要刮“atg\ u store\ u newPrice”有价格时,它没有报价。你知道吗

我可以使用不同的选择器,在价格选择器中使用它,在摘录中使用它,比如

item['price'] = sel.xpath('.//*[@class="price_discount"]/text()').extract_first(default='sel.xpath('.//*[@class="atg_store_newPrice"]/text()').extract_first()')

当然,这给出了无效的语法,但如果我使用不同的选择器,我可以做到吗?比如价格2

item['price2'] = sel.xpath('.//*[@class="atg_store_newPrice"]/text()').extract_first()

那么

    item['price'] = sel.xpath('.//*[@class="price_discount"]/text()').extract_first(default='price2')

我也很确定这是不可能的,所以我想就如何解决这个问题征求意见。你知道吗


Tags: storetextdefault选择器extract价格discountitem
1条回答
网友
1楼 · 发布于 2024-09-26 22:07:44

我不确定是否正确理解了您的需求,但您可以使用此XPath来涵盖这两种选择:

item['price'] = sel.xpath('(.//*[@class="price_discount"]|.//*[@class="atg_store_newPrice"])/text()').extract_first()

相关问题 更多 >

    热门问题