
如何在 bs4 中处理 find_all 提取元素时包含回车符的现象
beautifulsoup 的 find_all 函数在提取页面元素时,如果元素内容中包含回车符,会导致元素被拆分为多个元素。对于只想提取元素文本内容的情况,这可能会带来麻烦。
要解决此问题,可以在使用 .get_text() 方法获取元素文本之前,先对元素内容进行预处理。可以使用 replace 函数替换掉元素中的换行符('n')。
以下是如何修改代码以解决回车符问题:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen('http://www.pythonscraping.com/pages/warandpeace.html')
bs = BeautifulSoup(html.read(), 'html.parser')
name_list = bs.find_all('span', {'class':'green'})
for name in name_list:
print(name.get_text().replace('\n', '')) # 添加 replace('\n', '')这样,元素文本中的换行符将被替换为空字符串,并且 get_text() 方法将返回一个不包含换行符的字符串。
以上就是BeautifulSoup中find_all提取元素包含回车符如何处理?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号