scrapy保存数据到文本

版权声明:本文为博主原创文章,未经博主允许不得转载。 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,
}

猜你喜欢

转载自blog.csdn.net/a6864657/article/details/80887685