【发布时间】:2015-03-03 22:23:12
【问题描述】:
下面的 HTML 代码我需要 xpath
<div itemtype="http://schema.org/PostalAddress" itemscope="" itemprop="jobLocation">
<div class="aiDetailJobInfoLabel aiDetailJobInfoLocation">Location: </div>
<div class="aiDetailJobInfo aiDetailJobInfoLocation">
<span itemprop="addressLocality">Topeka</span>
, KS
<span itemprop="postalCode">66607</span>
</div>
</div>
在这个 HTML 代码中,我需要输出为 堪萨斯州托皮卡
不应包含 66607
我试过这段代码,但它给了空
>>> response.xpath('//div[@itemprop="jobLocation"]/div[@class="aiDetailJobInfo aiDetailJobInfoLocation"][not(child::span[@itemprop="postalCode"])]//text()').extract()
如果我写下面的代码,它给了
response.xpath('//div[@itemprop="jobLocation"]/div[@class="aiDetailJobInfo aiDetailJobInfoLocation"]//text()').extract()
output: Topeka, KS, 66607
请帮帮我。
仅供参考: xpath 将与 div text() 一起排除邮政编码,以便返回剩余的 div 和 span 文本。有时,此 div 标签中不存在 postalCode。因此,如果它存在,则跳过它,如果不返回整个 div 标记文本。
【问题讨论】: