如何使用scrapy从span子类中进行剪贴

时间:2018-08-02 09:44:09

标签: python html web-scraping scrapy

<span class="price-box"> <span class="price"><span data-currency-iso="PKR">Rs.</span> <span dir="ltr" data-price="16999">&nbsp;16,999</span>  </span>  <span class="price -old "><span data-currency-iso="PKR">Rs.</span> <span dir="ltr" data-price="50000">&nbsp;50,000</span>  </span> </span>

你好我需要一些帮助来提取“ span dir =“” ltr“”的数据价格“。我无法确定如何使用scrapy提取它。

2 个答案:

答案 0 :(得分:1)

这非常简单(假设您在蜘蛛回调中获得带有响应的HTML):

>>> response.css('span[dir=ltr]::attr(data-price)').extract()
['16999', '50000']

我建议您阅读有关Scrapy Selectors的信息。

答案 1 :(得分:1)

替代@Stasdeep的答案,您可以使用xpaths:

response.xpath('//span[@dir="ltr"]/@data-price').extract()

//               -> Any sub span, no matter how deep it is
span[@dir="ltr"] -> span with attribute dir equaling "ltr"
@data-price      -> same level attribute you want