我只想选择<p></p>
里面有一些文字。用xpath做到最好的是什么?
Html示例:
<div id="date" >
<span > Some date</span>
<p></p>
</div>
<div id="date" >
<span >Some date</span>
<p>10:00</p>
</div>
Xpath的
item['StartTime'] = response.xpath('//*[@id="date"]/p/text()').extract()
答案 0 :(得分:4)
如何使用此XPath:
//*[@id="date"]/p[normalize-space()]/text()
表达式p[normalize-space()]
将返回包含非空文本的p
元素。
答案 1 :(得分:2)
试试这个:
date = response.xpath('//div[@id="date"]')
for d in date:
ptext = d.xpath('p/text()').extract()
if ptext:
item['StartTime'] = ptext