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('
', ''))

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

以上就是BeautifulSoup提取带回车符的列表元素如何正确处理?的详细内容,更多请关注硕下网其它相关文章!