包返回报文的编码来源于HTTP协议所访问的网站,在http协议的头部会写明编码格式。
譬如 如下代码:
r=requests.get('http://www.baidu.com')
print r.headers['Content-Type']
输出:
text/htmlcharset=UTF-8
这里表明了应答报文的utf-8格式。
scrapy.Request也是一样。
2、如果返回的charset=gbk2312,你可以根据你的代码需要,确定是否转码成你需要的编码。
r=requests.get('http://www.baidu.com')
print r.content[:1000].decode('utf-8')
print r.content[:1000].decode('utf-8').encode('gbk')
在setting文件中设置:FEED_EXPORT_ENCODING = 'utf-8' 就可以啦(参考知乎jiazhuamh针对“scrapy 抓取的中文结果乱码,请问如何解决?”的回答)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)