scrapy保存数据

利用pipeline来处理(保存)数据

在pipeline.py文件中定义操作数据

1.定义一个管道类

2.重写管道类process_item方法

3.process_item方法处理完item返回引擎

 


在pipeline中
class Myspider01Pipeline:
def process_item(self, item, spider):
print('itcast',item)
# 默认使用完管道之后需要将数据返回引擎
return item
激活管道
在setting.py中的第67行,去掉注释
ITEM_PIPELINES = {
'myspider01.pipelines.Myspider01Pipeline': 300,
}
'300'是管道保存的优先权,越小的越优先。

将数据保存在文件中
导入json包
定义初始化文件
def __init__(self):
self.file = open('itcast.json', 'w')
将字典数据序列化
json_data = json.dumps(item, ensure_ascii=False) + ',\n' ,\n是将数据转行,‘,’取消一些报错 ensure_ascii=False因为默认为ture,想要数据中文保存,必须关闭编码



 

posted @ 2022-10-30 17:57  迪迦9723  阅读(98)  评论(0)    收藏  举报