[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,这样就可以显示中文了