python – 在Scrapy中使用normalize-space
发布时间:2020-12-20 11:47:14 所属栏目:Python 来源:网络整理
导读:下面是我正在处理的文档的模型: divh4Area/h4 span class="aclass" /span span class="bclass" strongAddress:/strong 10 Downing Street London SW1 /span/div 我得到的地址是这样的: response.xpath(u".//h4[. = 'Area']/following-sibling::span[contai
下面是我正在处理的文档的模型:
<div> <h4>Area</h4> <span class="aclass"> </span> <span class="bclass"> <strong>Address:</strong> 10 Downing Street London SW1 </span> </div> 我得到的地址是这样的: response.xpath(u".//h4[. = 'Area']/following-sibling::span[contains(.,'Address:')]/text()").extract() 返回 [u'rn t',u'rn 10 Downing Streetrnrn London rn rn SW1rn '] 我正试着用normalize-space来清理它.我已经尝试将它放在我能想到的每个位置,但它要么告诉我语法错误,要么返回一个空字符串. 更新以添加我正在尝试使其工作而不会过多地更改选择器.我有类似的情况,没有< strong>标签,例如.我在这里准备的示例中选择器过于复杂,但在实时版本中,我必须采用相当复杂的路径才能到达地址. 关于可能的重复遵循可能重复的建议,我添加/ normalize-space(.)给出: (u".//h4[. = 'Area']/following-sibling::span[contains(.,'Address:')]/text()/normalize-space(.)").extract() 这会产生ValueError:无效的XPath:错误. 解决方法"normalize-space(//strong[contains(text(),'Address:')]/following-sibling::node())" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |