Scrapy基础(十一)————导出数据到json文件中

时间:2023-03-08 23:53:14
Scrapy基础(十一)————导出数据到json文件中

之前介绍过将数据写入mysql数据库中,但是对于那些没有数据库的,可以通过写入json文件中
或者是写入到csv或者xls;这里只介绍写入json文件中,也为再练习一下自定义的pipeline

思路:

1,写入数据库中,从数据库中可以以各种形式导出

Scrapy基础(十一)————导出数据到json文件中

2,自定义pipeline,注册在setting中

 import codecs

 class JsonWithEncoding(object):
'''
自定义导出json文件
'''
def __init__(self):
#使用codecs模块的打开方式,可以指定编码打开,避免很多编码问题
self.file = codecs.open("atrical.json","w",encoding="utf-8") def process_item(self,item,spider):
lines = json.dumps(dict(item),ensure_ascii=False)+"\n"
self.file.write(lines) #注意别忘返回Item给下一个管道
return item
def spider_closed(self,spider):
self.file.close()
以下是ensure_ascii讲解
如果``ensure_ascii``为false,则返回值可以包含非ASCII
如果它们出现在“obj”中包含的字符串中。否则,全部
这些字符在JSON字符串中转义

Scrapy基础(十一)————导出数据到json文件中

在settings中注册管道并写上顺序

Scrapy基础(十一)————导出数据到json文件中

一下是运行结果(部分)

Scrapy基础(十一)————导出数据到json文件中

'''