我正在使用python和scrapy。我想从div类内部的div标记中提取文本。例如:
<div class="ld-header">
<h1>2013 Gulfstream G650ER for Sale</h1>
<div id="header-price">Price - $46,500,000</div>
</div>
我已经从h1标签中提取了文本
result.xpath('//div[@class="ld-header"]/h1/text()').extract()
但我无法提取价格。我已经尝试过
'price': result.xpath('//div[@class="ld-header"]/div[@id="header-price"]/text()').extract()
答案 0 :(得分:1)
有了ID,就不需要使用元素的完整路径。每个网页的ID是唯一的:
此Xpath:
//div[@id="header-price"]/text()
在给定XML上使用的将返回:
'Price - $46,500,000'
对于调试Xpath和CSS选择器,我总是发现使用在线检查器很有帮助(只需使用Google来找到一些建议)。
答案 1 :(得分:1)
尝试这个,你告诉我:)
price = [x.replace('Price - ', '').replace('$', '') for x in result.xpath('//div[@class="ld-header"]/h1/text()').extract()]
这是提取中所有项目内的“ for”循环,您可以在其中用“ replace()”方法替换所有不需要的信息。