你说:
导致该问题的字符是:
你怎么知道?您正在用什么来查看文字?
因此,您无法发布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 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)