BeautifulSoup 获取DOM元素的文本
举例:
from bs4 import BeautifulSoup
html="""<div>Hello<br>
<br> World!</div>""" # 示例HTML
soup = BeautifulSoup(html, 'html.parser')
elem = soup.select_one('div')
elem.get_text()
纯文本。
旧版。只是去除了 HTML tag,留下了空白字符,包括换行符。
新版。去除了 HTML tag 、换行、多余的空白字符。
print(elem.get_text())
# 输出:
'''
Hello
World!
'''
elem.stripped_strings
elem.stripped_strings
以迭代方式返回每个HTML tag 间的文本,但会过滤掉多余的空白字符。
print(list(elem.stripped_strings))
# 输出:['Hello', 'World!']
script 元素的内容
使用 .text
返回的是空字符。要用 .string
。
举例:print(dom.select_one("script").string)
参考: