我在Python 3.8.2中尝试了以下代码:
from bs4 import BeautifulSoup
import urllib.request
html = urllib.request.urlopen(
'https://vietnamnet.vn/').read()
soup = BeautifulSoup(html, "html.parser").encode("utf-8")
print(soup.title)
但我收到:
而不是预期的:<title>Báo VietNamNet - Tin tức online, tin nhanh Việt Nam và thế giới</title>
我做错了什么?我该如何修复它
我必须使用.encode("utf-8")
,因为html字符串包含unicode字符。它对汤有影响吗
谢谢
在读取url后,您应该使用如下所示的适当编码格式对其进行解码
当您在解析器上运行
.encode()
时,您正在为soup分配一个字节字符串。解析器完全丢失,因为.encode()
返回一个字节字符串bs4应该为您处理字符集
输出:
你必须在阅读时解码
相关问题 更多 >
编程相关推荐