推荐 最新
kunkun小黑子

如何解决使用 bs4 模块中 find_all 提取列表元素中包含回车符的现象?

1、场景:使用 BeautifulSoup 提取指定页面标签中类别为'green'的内容。 2、代码: 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()) 3、问题:提取 name_list 后发现在遍历的过程中,某些名字存在回车符号。例如:第一个元素应该是 Anna Pavlovna Scherer,但运行的结果是 Anna Pavlovna 和 Scherer,变成了两个元素。 我检查了一下该网页的源代码,HTML代码中 Anna Pavlovna 和 Scherer 之间的确存在回车符,这不影响浏览器显示,但在运行代码时就显示不正常了(变成两个元素)。 另外,我也考虑将 name 转换为字符串类型(str),这样可以替换掉元素中间的回车符,但这样的话后续就没有办法使用 .get_text() 方法了。 请问有没有在可以使用 .get_text() 方法的前提下,去掉 Anna Pavlovna 和 Scherer 之间的回车符,让两个元素正常确认为一个元素? 4、环境:Fedora Linux 38,Python 3.11.5,BeautifulSoup 4.12.2 感谢回答!

9
1
0
浏览量213