我试过刮一个链接(https://www.century21.com/real-estate/rock-spring-ga/LCGAROCKSPRING/)。我想从中提取“床”数据。因为有些房子有一些空的细节,所以只有很少的“床”细节被提取出来。但我想知道所有的细节。如果没有,那么它应该显示"NaN“或其他什么。另一个问题是,我检查了这个标签:
<div class="property-beds">
<strong>2</strong> beds
</div>
我使用xpath命令提取"2张床“。只有“床”显示nOT "2张床“。所以我用“\”来统一这两个元素。
response.xpath('//div[@class="property-beds"]/strong/text() | //div[@class="property-beds"]/text()'] 这使我得到了正确的输出,但问题是,它是显示结果在两个单独的行(2在一行和床在另一行).how显示在单行?
发布于 2017-11-12 06:15:11
可以在父元素上使用string()提取元素和所有子节点的文本:
In [10]: root.xpath('string(//div[@class="property-beds"])')
Out[10]: '2 beds'如果有多个元素,则必须迭代//div[@class="property-beds"]匹配的元素,然后执行elem.xpath('string()')。
发布于 2017-11-15 10:59:10
使用string()方法.root.xpath('string(//div[@class="property-beds"])')
https://stackoverflow.com/questions/47245998
复制相似问题