如何在python的scrapy选择器中仅提取文本
我有这个代码
site = hxs.select("//h1[@class='state']") log.msg(str(site[0].extract()),level=log.ERROR)
输出是
[scrapy] ERROR: <h1 class="state"><span> 1</span>
<span> job containing <span>php</span> in <span>region</span> paying <span>$30-40k per year</span></span>
</h1>
是否可以只获取没有任何html标记的文本
回答:
//h1[@class='state']
在上面的xpath中,你正在选择h1
具有class
属性的标签state
所以这就是为什么它选择所有进入的东西 h1 element
如果你只想选择h1
标签文本,则只需
//h1[@class='state']/text()
如果要选择h1
标签的文本及其子标签,则必须使用
//h1[@class='state']//text()
因此区别在于/text()
特定标签的文本,特定标签的文本//text()
及其子标签
下面提到的代码为你工作
site = ''.join(hxs.select("//h1[@class='state']/text()").extract()).strip()
以上是 如何在python的scrapy选择器中仅提取文本 的全部内容, 来源链接: utcz.com/qa/415728.html