gpt4 book ai didi

python - Python 3 时来自 BeautifulSoup 的 "illegal multibyte sequence"错误

转载 作者:行者123 更新时间:2023-12-01 07:09:16 31 4
gpt4 key购买 nike

.html 保存到本地磁盘,我使用 BeautifulSoup (bs4) 来解析它。

它运行得很好,直到最近它变成了 Python 3。

我在另一台机器 Python 2 中测试了相同的 .html 文件,它可以工作并返回页面内容。

soup = BeautifulSoup(open('page.html'), "lxml")

使用 Python 3 的机器无法工作,并且显示:

UnicodeDecodeError: 'gbk' codec can't decode byte 0x92 in position 298670: illegal multibyte sequence

四处搜索,我在下面尝试过,但都不起作用:(无论是“r”还是“rb”都没有太大区别)

soup = BeautifulSoup(open('page.html', 'r'), "lxml")
soup = BeautifulSoup(open('page.html', 'r'), 'html.parser')
soup = BeautifulSoup(open('page.html', 'r'), 'html5lib')
soup = BeautifulSoup(open('page.html', 'r'), 'xml')

如何使用 Python 3 解析此 html 页面?

谢谢。

最佳答案

It worked all fine until lately it's changed to Python 3.

Python 3 默认情况下使用 unicode 编码字符串,因此当您以文本形式打开文件时,它会尝试对其进行解码。另一方面,Python 2 使用字节串,并且仅按原样返回文件的内容。尝试将 page.html 作为字节对象打开 (open('page.html', 'rb')) 并查看是否适合您。

关于python - Python 3 时来自 BeautifulSoup 的 "illegal multibyte sequence"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58300101/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com