我最近试图从网站上提取数据,但似乎我得到了一个我自己无法解决的错误。所以我开始环顾四周,看看是否有其他人有完全相同的错误,我发现3个是精确的,我尝试了所有3个解决方案,但是还有一些,但似乎没什么用。
这是我的代码:
import bs4
from time import sleep
import requests
import os
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,'cp437','backslashreplace')
f = open('output.txt', 'w')
f.close()
project_name = 'reddit'
url = 'https://www.reddit.com/'
html = requests.get(url)
soup = bs4.BeautifulSoup(html.text, 'html.parser').encode('utf-8')
print(soup.prettify())
正如您所看到的,我尝试了sys.stdout = io.TextIOWrapper(sys.stdout.buffer,'cp437','backslashreplace')
,这是其他人在另一个帖子上建议的,但不幸的是,它在我的情况下不起作用。
如果有人知道解决方案,我将非常感谢,提前感谢。
Naomi,
答案 0 :(得分:1)
删除.encode('utf-8')
:
soup = bs4.BeautifulSoup(html.text, 'html.parser')