使用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导出文件中文乱码问题-创新互联
标题网址:https://www.cdcxhl.com/article48/djdoep.html
成都网站建设公司_创新互联,为您提供定制开发、微信公众号、软件开发、标签优化、网站维护、虚拟主机
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联