使用Scrapy中的Request的时候,怎么把拿到的内容编码转换为utf-8

使用Scrapy中的Request的时候,怎么把拿到的内容编码转换为utf-8,第1张

1、无论requests还是Request,都是一种http协议的实现包而已。

包返回报文的编码来源于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 抓取的中文结果乱码,请问如何解决?”的回答)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11313046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存