
如何在 bs4 中处理 find_all 提取元素时包含回车符的现象
beautifulsoup 的 find_all 函数在提取页面元素时,如果元素内容中包含回车符,会导致元素被拆分为多个元素。对于只想提取元素文本内容的情况,这可能会带来麻烦。
要解决此问题,可以在使用 .get_text() 方法获取元素文本之前,先对元素内容进行预处理。可以使用 replace 函数替换掉元素中的换行符(’n’)。
以下是如何修改代码以解决回车符问题:
from urllib.request import urlopenfrom bs4 import BeautifulSouphtml = 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提取元素包含回车符如何处理?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1353667.html
微信扫一扫
支付宝扫一扫