Hello! 欢迎来到小浪资源网!

BeautifulSoup提取带回车符的列表元素如何正确处理?


BeautifulSoup提取带回车符的列表元素如何正确处理?

使用 bs4.beautifulsoup 提取带回车符的列表元素

在使用 beautiful soup 库来提取网页元素时,遇到了一个问题,即提取的元素中包含回车符。这导致一些元素被拆分为多个元素。

代码示例:

import requests from bs4 import beautifulsoup  url = 'http://www.pythonscraping.com/pages/warandpeace.html' html = requests.get(url).text bs = beautifulsoup(html, 'html.parser')  name_list = bs.find_all('span', {'class': 'green'}) for name in name_list:     print(name.get_text())

运行此代码可能会导致安娜·帕夫洛夫娜·舍勒 (anna pavlovna scherer) 被拆分为两个元素:”安娜·帕夫洛夫娜”和”舍勒”。这是因为 html 源代码中安娜·帕夫洛夫娜和舍勒之间存在一个换行符。

可以使用 get_text() 方法来解决此问题,它会将元素的内容作为文本返回。但是,它会保留换行符。

解决方案:

可以使用 replace() 方法将回车符替换为空字符串

for name in name_list:     print(name.get_text().replace(' ', ''))

这样,安娜·帕夫洛夫娜·舍勒将被正确地识别为一个元素。

相关阅读