lxml - 忽略HTML中的<br>标签

6 投票
1 回答
3706 浏览
提问于 2025-04-17 17:30

我用Python和lxml写了一个小的HTML解析器,觉得挺好用的,但遇到了一些问题。

我有以下这段代码:

tags = doc.xpath('//table//tr/td[@align="right"]/b')
for tag in tags:
    print(x.text.strip())

这段代码运行得很好。但是如果在一个标签里面有一个
标签,比如这样:

<b> first-half <br>
    second-half </b>

这段代码只会把first-half打印到标签里面。

我该怎么做才能把标签里面的所有文字都提取出来,即使里面有
标签呢?

谢谢。

1 个回答

6

使用 text_content() 可以提取标签内所有不带格式的文本。把 x.text 替换成 x.text_content() 就可以了。

撰写回答