scrapy 如何在页面中找到文本,如果它是在不同的变化?

fkaflof6  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个元素,例如<span class="ads_price" id="tdo_8">7 650 €</span>,我需要通过price来查找此元素,但问题是我不知道price将以什么形式出现。我需要在元素中搜索此子字符串,以便在任何情况下都不会出现问题。例如,如果我搜索price 7650,它将不会找到此元素。但是如果我搜索7 650(注意空间),它会找到它没有问题。现在我使用xpath //*[contains(text(),'{search_price}')]搜索。我的问题是-有什么方法可以改善这个搜索任何价格的任何页面我扔在它?
P.S.我使用的是没有JavaScript渲染网页的Scrapy。

cyej8jka

cyej8jka1#

此代码将为您工作:

response.xpath("//*[contains(translate(text(),' ',''),'7650')]").getall()

这将返回所有包含7650的元素--带或不带空格,带或不带$、€等。
我已经用以下产品进行了测试:

<span class="ads_price" id="tdo_8">7 650 €</span>
<span class="ads_price" id="tdo_8">7 650 </span>
<span class="ads_price" id="tdo_8">$ 7650</span>
<span class="ads_price" id="tdo_8">7650.30</span>

相关问题