XPath 如何取出被标签包含的文字内容?

在获取网页数据的时候,经常会使用 xpath 进行数据的提取,对于如下的代码:

案例 1:

1
<div id="test1">大家好!</div>

使用 xpath 提取是非常方便的。假设网页的源代码在 selector 中:

1
data = selector.xpath('//div[@id="test1"]/text()').extract()[0]

可以把 “大家好!” 提取到 data 变量中去。


案例 2:

如果我有一百段如下类似的 html 代码,内部的标签还不固定,又如何使用 xpath 表达式,以最快最方便的方式提取出来?

1
<div id="test3">我左青龙,<span id="tiger">右白虎,<ul>上朱雀,<li>下玄武。</li></ul>老牛在当中,</span>龙头在胸口。<div>

解决方案:

1
2
data = selector.xpath('//div[@id="test3"]')
info = data.xpath('string(.)').extract()[0]
------------- 本文结束 感谢您的阅读 -------------
正在加载今日诗词....