您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

你说:

导致该问题的字符是:

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

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

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

至少要这样做

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

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

然后这样做:

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

并向我们??展示结果。

假设编码实际上是cp1252在解码lxml错误消息中的字节:

>>> guff = "\xEA\x76\x65\x73"
>>> from unicodedata import name
>>> [name(c) for c in guff.decode('1252')]
['LATIN SMALL LETTER E WITH CIRCUMFLEX', 'LATIN SMALL LETTER V', 'LATIN SMALL LE
TTER 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,因此您会早点得到答案。

在传递datalxml解析器之前,请执行以下操作:

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

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

python 2022/1/1 18:32:50 有220人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶