PyQuery报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa8...

这篇具有很好参考价值的文章主要介绍了PyQuery报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa8...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1、问题描述


今天在使用pyquery库读取本地HTML文件时报错:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa8 in position 805: illegal multibyte sequence

代码如下:

from pyquery import PyQuery as pq

path = r'../../xx.html'
html = pq(filename=path)
print(html('h1'))

2、问题原因


该错误通常是因为编码方式不一致导致的

一种情况是,如果HTML采用GBK编码方式,而IDE默认采用UTF-8编码方式,导致无法正常解码

另一种情况是,当CSV文件的表头包含中文时,可能导致同样的错误

总的来说,你需要在读取文件时保证正确的编码方式,匹配文件的实际编码方式

3、问题解决


对于采用非UTF-8编码的HTML,可以使用open()指定正确的编码打开文件:

with open(r'../../xx.html', "r", encoding="utf-8") as file:
    content = file.read()

html = pq(content)
print(html('h1'))

对于包含中文表头的CSV,也是同样的道理:文章来源地址https://www.toymoban.com/news/detail-738825.html

data = pd.read_csv(r'../../xx.csv', encoding="utf-8")

到了这里,关于PyQuery报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa8...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包