scrapy编码问题解析

[scrapy] 2024-04-29 圈点668

摘要:scrapy编码问题一般存在于python2.7版本,因为其默认使用ascii编码,python3及以上就比较少发生编码问题了。

scrapy编码问题一般存在于python2.7版本,因为其默认使用ascii编码,python3及以上就比较少发生编码问题了。


具体分析:

scrapy默认用的python编码,不过可以在头部写上:

# -*- coding: utf-8 -*-

这样,可以声明此文件的编码方式为:utf-8.


但在其抓取的时候,返回的response的编码却是按照网页本身的编码处理的。比如网页的charset是gbk,那抓取的内容就是gbk的编码。


有个比较有用的中文编码的解决思路,如下:

s = "我是中文"

if isinstance(s,unicode):

      print s.encode('gbk') #如果它是unicode,就把它编译成gbk中文,就会显示中文了。

else:

      print s.decode('对其的编码').encode('gbk') #如果不是unicode,就先按“原编码”解码,->unicode ,然后再编成gbk,这样就可以显示中文了



scrapy  

感谢反馈,已提交成功,审核后即会显示