大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
scrapy导出文件时出现中文乱码怎么办?相信很多没有经验的人对此束手无策,这篇文章总结了scrapy导出文件时出现中文乱码的解决办法,通过这篇文章希望你能解决这个问题。
从事四川雅安电信机房,服务器租用,云主机,虚拟空间,域名注册,CDN,网络代维等服务。使用scrapy crawl spidername -o filename.json命令执行爬虫,并将item写入文件,发现中文乱码,比如这样子:
使用scrapy命令导出时指定编码格式
scrapy crawl baidu -o baidu_med.json -s FEED_EXPORT_ENCODING=utf-8
借助Pipeline将item写入到文件
1.修改pipelines.py,添加:
import json
import codecs
class YiyaoPipeline(object):
def __init__(self):
self.file = codecs.open('item.json', 'wb', encoding='utf-8')
def process_item(self, item, spider):
line = json.dumps(dict(item), ensure_ascii=False) + '\n'
self.file.write(line)
return item
2.修改settings.py,激活pipeline:
ITEM_PIPELINES = {
'yiyao.pipelines.YiyaoPipeline': 300,
}
注意:settings.py默认有ITEM_PIPELINES配置,只是注销掉了。
3.使用scrapy命令导出时,直接执行:
scrapy crawl baidu
看完这篇文章,你能够独立解决scrapy导出文件时出现中文乱码的问题了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。