忽略Python(iterparse)中的编码错误?

忽略Python(iterparse)中的编码错误?,第1张

忽略Python(iterparse)中的编码错误

你说:

导致该问题的字符是:

你怎么知道?您正在用什么来查看文字?

因此,您无法发布URL和API密钥;读取数据,将其写入文件(以二进制模式)并发布该怎么办?

当您在网络浏览器中打开该文件时,它将检测到什么编码?

至少要这样做

data.depre('utf8') # where data is what you get from ur.read()

这将产生一个异常,告诉您非UTF-8数据的字节偏移。

然后这样做:

print repr(data[offset-10:offset+60])

并向我们​​展示结果。

假设编码实际上是

cp1252
在解码lxml错误消息中的字节:

>>> guff = "xEAx76x65x73">>> from unipredata import name>>> [name(c) for c in guff.depre('1252')]['LATIN SMALL LETTER E WITH CIRCUMFLEX', 'LATIN SMALL LETTER V', 'LATIN SMALL LETTER E', 'LATIN SMALL LETTER S']>>>

那么,您是否看到e-circumflex

ves
,或,a-ring紧随其后
ves
,或a-ring紧随其后?

数据是否以XML声明开头

<?xml version="1.0" encoding="UTF-8"?>
?如果没有,它是从什么开始的?

猜测/确认编码的线索:文字是用哪种语言编写的?什么国家?

*根据提供的更多信息进行 *更新

根据您在错误附近显示的摘录,电影的标题为“ La science desrêves”(梦的科学)。

有趣的是,PHP如何在“ F *** ingÅmål”上作呕,但Python在法国梦中cho住。确定要执行相同的查询吗?

您应该已经告诉我们这是IMDB,因此您会早点得到答案。

解决方案: 在传递

data
lxml
解析器之前,请执行以下 *** 作:

data = data.replace('encoding="UTF-8"', 'encoding="iso-8859-1"')

这是基于他们在网站上声明的编码,但这也可能是一个谎言。在这种情况下,请尝试

cp1252
。绝对 不是iso-8859-2



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5664181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存