首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pythons lxml库正确的xpath语法,用于解析任意嵌套的html标记中的所有文本

使用pythons lxml库正确的xpath语法,用于解析任意嵌套的html标记中的所有文本
EN

Stack Overflow用户
提问于 2011-05-30 18:20:50
回答 1查看 675关注 0票数 0

我在python中使用lxml创建了以下xpath语法

代码语言:javascript
复制
htmlPage.xpath("/html/body//a/text()")

它让我在我想要的特定html范围内获得所有的<a>-tags。现在,我遇到了<a>-tags可能如下所示:

代码语言:javascript
复制
<a>This is a sentence with some <italic>italic text</italic>-formatting I want to parse.</a>

xpath返回的列表比我预期的多了一个元素。我检查了一下,发现它将上面提到的<a>-tag拆分为两个列表元素,而不是一个。而不是字符串

代码语言:javascript
复制
"This is a sentence with some italic text-formatting I want to parse."

我得到了两个字符串

代码语言:javascript
复制
"This is a sentence with some" # and
"-formatting I want to parse."

有没有办法纠正这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 19:16:16

我通过首先获取所有<a>-tags解决了我的问题

代码语言:javascript
复制
results = htmlPage.xpath("/html/body//a")

然后迭代返回的列表并对列表元素使用text_content()

代码语言:javascript
复制
for a_tag in results:
    print a_tag.text_content() # prints bthe whol string: "This is a sentence with some italic text-formatting I want to parse."
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6175049

复制
相关文章

相似问题

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