从包含br标签的td标签中提取文本

时间:2018-03-14 14:28:09

标签: python python-3.x beautifulsoup

我想从包含内部br标签的td标签中提取文本。

from bs4 import BeautifulSoup
html = "<td class=\"text\">This is <br/>a breakline<br/><br/></td>"
soup = BeautifulSoup(html, 'html.parser')
print(soup.td.string)

实际输出:None

预期输出:This is a breakline

2 个答案:

答案 0 :(得分:2)

来自美丽的汤document

  

如果标记包含多个内容,则不清楚.string应引用的内容,因此.string定义为无:

如果你想要文字部分document

  

如果您只想要文档或标记的文本部分,则可以使用get_text()方法。它返回文档中或标记下的所有文本,作为单个Unicode字符串:

所以你可以使用以下内容:

print(soup.get_text())

针对特定代码soup.td.get_text()

答案 1 :(得分:0)

这将为您提供所需内容:

print(soup.td.text)

这适用于特定的td代码

否则你也有:

print(soup.text)