scrapy采集—爬取中文乱码,gb2312转为utf-8


有段时间没怎么使用scrapy了,最近采集一个网页,发现网页编码是gb2312,

一开始就取搜索了下,发现各种操作都有,有在settings中设置  

# FEED_EXPORT_ENCODING = 'utf-8'
FEED_EXPORT_ENCODING = 'GB2312'

有在spider中设置response.body的encoding的,而我用的是response.xpath,到这里发现问题也还是不能够解决,

最后发现 在Download MinddleWares中有个process_response方法,在下载器中间件中将返回的请求数据修改编码即可完成

response = HtmlResponse(url=response.url, body=response.body, encoding='utf-8')  
return response

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM