Python bs4 'bytes' 对象没有属性 'prettify'
Python bs4 'bytes' object has no attribute 'prettify'
我最近尝试从网站提取数据,但似乎遇到了一个我无法自行解决的错误。所以我开始环顾四周,看看是否有其他人有我完全相同的错误,我发现 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')
,这是其他人在另一个线程上建议的,但不幸的是,它在我的情况下不起作用。
如果周围有人知道解决方案,将不胜感激,在此先感谢。
娜奥米,
删除 .encode('utf-8')
:
soup = bs4.BeautifulSoup(html.text, 'html.parser')
我最近尝试从网站提取数据,但似乎遇到了一个我无法自行解决的错误。所以我开始环顾四周,看看是否有其他人有我完全相同的错误,我发现 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')
,这是其他人在另一个线程上建议的,但不幸的是,它在我的情况下不起作用。
如果周围有人知道解决方案,将不胜感激,在此先感谢。
娜奥米,
删除 .encode('utf-8')
:
soup = bs4.BeautifulSoup(html.text, 'html.parser')