Scrapy存储json
1.使用终端指令行方式
- 指令:scrapy crawl xxx -o filePath.文件类型 -s FEED_EXPORT_ENCODING=utf-8
- -s FEED_EXPORT_ENCODING=utf-8 解决中文乱码
- 注意:持久化存储对应的文本文件类型只可以为 ‘json’, ‘jsonlines’, ‘jl’, ‘csv’, ‘xml’, ‘marshal’, ‘pickle’ 类型
2.直接创建并写入 json 文件
import os
import codecs
import json
class LiepinproPipeline(object):
# 构造方法(初始化对象时执行的方法)
def __init__(self):
# 必须使用 w+ 模式打开文件,以便后续进行 读写操作(w+模式,意味既可读,亦可写)
# 注意:此处打开文件使用的不是 python 的 open 方法,而是 codecs 中的 open 方法
self.json_file = codecs.open('data2.json', 'w+', encoding='UTF-8')
# 爬虫开始时执行的方法
def open_spider(self, spider):
# 在爬虫开始时,首先写入一个 '[' 符号,构造一个 json 数组
# 为使得 Json 文件具有更高的易读性,我们辅助输出了 '\n'(换行符)
self.json_file.write('[\n')
# 爬虫 pipeline 接收到 Scrapy 引擎发来的 item 数据时,执行的方法
def