首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中的Xpath中选择标记之间的文本

在Python中的Xpath中选择标记之间的文本
EN

Stack Overflow用户
提问于 2016-08-06 13:37:04
回答 1查看 45关注 0票数 2

代码语言:javascript
运行
复制
<td width="250">
10.03.1984 16:30
<br/>
Lütfi Kırdar, İstanbul
<br/>
<br/>
47-38, 49-58, 8-10
</td>

我想得到"td“标签之间的所有文本。我的代码是mactarih=tree.xpath("//tr//td@width='250'//text()")。但这是错误的。

预期结果是: text='10.03.1984 16:30','Lütfi Kırdar,İstanbul','47-38,49-58,8-10‘

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-06 14:22:00

“我的代码是mactarih=tree.xpath("//tr//td[@width='250']//text()")__,但它错了”。

如果它返回空文本或换行符以及正确的文本,这是“错误”的,那么您可以使用normalize-space()筛选出仅空格的文本:

代码语言:javascript
运行
复制
mactarih=tree.xpath("//tr//td[@width='250']//text()[normalize-space()]")

快速测试:

代码语言:javascript
运行
复制
>>> from lxml import etree
>>> raw = '''<td width="250">
... 10.03.1984 16:30
... <br/>
... Lütfi Kırdar, İstanbul
... <br/>
... <br/>
... 47-38, 49-58, 8-10
... </td>'''
>>> root = etree.fromstring(raw)
>>> root.xpath("//td[@width='250']//text()[normalize-space()]")
['\n10.03.1984 16:30\n', u'\nL\xfctfi K\u0131rdar, \u0130stanbul\n', '\n47-38, 49-58, 8-10\n']
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38804848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档