BeautifulSoup 获取DOM元素的文本

举例:

from bs4 import BeautifulSoup

html="""<div>Hello<br>
<br> World!</div>""" # 示例HTML

soup = BeautifulSoup(html, 'html.parser')
elem = soup.select_one('div')

纯文本。
旧版。只是去除了 HTML tag,留下了空白字符,包括换行符。
新版。去除了 HTML tag 、换行、多余的空白字符。

print(elem.get_text())
# 输出:
'''
Hello
 World!
'''

elem.stripped_strings 以迭代方式返回每个HTML tag 间的文本,但会过滤掉多余的空白字符。

print(list(elem.stripped_strings))
# 输出:['Hello', 'World!']

使用 .text 返回的是空字符。要用 .string
举例:print(dom.select_one("script").string)


参考: