我需要从下面的 html 中获取 183.7
<span class="price"><b>183</b>.7</span>
但是如果使用 scrapy shell 模式运行下面的代码,则只有 '.7' 可用
response.xpath('//span[@class="price"]/text()').get()
如何编写代码来获取完整的数字?
我已阅读 Scrapy 教程 http://doc.scrapy.org/en/1.7/topics/selectors.html#topics-selectors 但我仍然很难理解正确的 xpath 设置来获取我需要的值。
如果我尝试
response.xpath('//span[@class="price"]').get()
返回
['<span class="price"><'b>183</'b>.7 </span>']
这也不是我真正需要的。
最佳答案
您可以使用“//”来获取元素上的所有子文本,如下所示:
"".join(response.xpath('//span[@class="price"]//text()').extract())
关于python - Scrapy:使用scrapy和xpath时如何同时获取文本和带有<b>标签的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58433912/