繁体   English   中英

Python解码UTF-8无法正常工作

[英]Python Decode UTF-8 Not working

我正在使用Scrapy抓取波斯网站。

title = response.xpath('//*[@id="news"]/div/div[2]/div[2]/div[2]/div[2]/div[2]/h1/a/text()').extract()

当我从网站提取标题时,它会给我这样的编码字符串:

[u' \t\t\u0628\u06cc\u0645\u0647 10 \u0633\u0627\u0644\u0647\u200c \u062f\u0631 \u062e\u0637 \u062d\u0645\u0644\u0647\u200c\u06cc \u062a\u06cc\u0645 \u0645\u0644\u06cc \t']

在Python中搜索解码字符串后,我发现是这样的:

title = response.xpath('//*[@id="news"]/div/div[2]/div[2]/div[2]/div[2]/div[2]/h1/a/text()').extract()

print(title[0].decode('utf-8'))

当我运行此代码时,它向我显示了这一点:

  print(title[0].decode('utf-8'))
  File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
  return codecs.utf_8_decode(input, errors, True)

问题是什么?

您的字符串已经可以了,只用Unicode转义符而不是实际字形表示,因此它也可以在ASCII控制台中显示。 尝试打印:

>>> x = [u' \t\t\u0628\u06cc\u0645\u0647 10 \u0633\u0627\u0644\u0647\u200c \u062f\u0631 \u062e\u0637 \u062d\u0645\u0644\u0647\u200c\u06cc \u062a\u06cc\u0645 \u0645\u0644\u06cc \t']
>>> print x[0]
        بیمه 10 ساله‌ در خط حمله‌ی تیم ملی

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM