BeautifulSoup "encode("utf-8")

BeautifulSoup "encode("utf-8")

from bs4 import BeautifulSoup   
import urllib.request    

link = ('https://mywebsite.org')  
req = urllib.request.Request(link, headers={'User-Agent': 'Mozilla/5.0'})
url = urllib.request.urlopen(req).read()

soup =  BeautifulSoup(url, "html.parser")  
body = soup.find_all('div', {"class":"wrapper"})

print(body)

大家好,我对这段代码有疑问。如果我 运行 它会出现错误

UnicodeEncodeError: 'charmap' codec can't encode character '\u2022' in position 138: character maps to

我尝试搜索,发现我必须添加

.encode("utf-8")

但是如果我添加它就会出现错误

AttributeError: 'ResultSet' object has no attribute 'encode'

我该如何解决这个问题?

对不起我的英语不好,但我是意大利人:)

您正在 Windows 并尝试打印到控制台。 print() 抛出异常。

Windows 控制台仅原生支持 8 位代码页,因此您所在地区以外的任何内容都会崩溃(尽管人们怎么说 chcp 65001)。

您需要安装并使用https://github.com/Drekin/win-unicode-console。该模块与控制台 API 进行低级对话,支持多字节字符。

或者,不要打印到控制台并将输出写入一个文件,使用编码打开。例如:

with open("myoutput.log", "w", encoding="utf-8") as my_log:
    my_log.write(body)