版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a6864657/article/details/80887685
scrapy保存数据到文本
piplines中 可以是txt,json,csv
第一种:方法
import json
class MyspiderPipeline(object):
# 在实例化的时候与处理一些事情
def open_spider(self, spider):
self.file = open('fenghua.json', 'w')
def process_item(self, item, spider):
# 数据处理的主要方法,在这里面定义对数据的操作
# 将item强转成字典
dict_data = dict(item)
# 将字典转换成json字符串
str_data = json.dumps(dict_data, ensure_ascii=False) + ',\n'
# 写入文件
self.file.write(str_data)
return item
# 在爬虫停止的时候清理一些事情
def close_spider(self, spider):
self.file.close()
setting设置一下
ITEM_PIPELINES = {
'MyspiderPipeline': 300,
}
第二种方法
import json
class DoubanPipeline(object):
def __init__(self):
self.file = open('fenghua.json', 'w')
def process_item(self, item, spider):
str_data = json.dumps(dict(item), ensure_ascii=False) + ',\n'
self.file.write(str_data)
return item
def __del__(self):
self.file.close()
setting中设置
ITEM_PIPELINES = {
'MyspiderPipeline': 300,
}