BeautifulSoup中find_all提取元素包含回车符如何处理?
如何在 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(' ', '')) # 添加 replace(' ', '')
这样,元素文本中的换行符将被替换为空字符串,并且 get_text() 方法将返回一个不包含换行符的字符串。
以上就是BeautifulSoup中find_all提取元素包含回车符如何处理?的详细内容,更多请关注硕下网其它相关文章!