scrapy mysql入库_scrapy保存抓取数据为json文件和异步入库mysql

本文介绍了如何使用Scrapy框架将抓取到的数据保存为JSON文件,包括自定义和使用内置的JsonItemExporter。同时,讲解了如何实现数据的异步保存至MySQL数据库,利用twisted库的adbapi实现高并发插入,以提高项目效率。
摘要由CSDN通过智能技术生成

一, 保存抓取到的数据为json文件.

首先新建一个专门保存json文件的pipieline类.

import codecs, json

# codecs类似于open,但会帮我们处理一些编码问题.

class JsonWithEncodingPipeline:

def __init__(self):

self.file = codecs.open('save_file.json', 'w', encoding='utf-8')

def process_item(self, item, spider):

lines = json.dumps(dict(item), ensure_ascii=False) + '\n'

self.file.write(lines)

return item

def spider_close(self, spider):

self.file.close()

上边是我们自己写的保存为json的功能,scrapy也提供了专门保存json的功能

from scrapy.exporters import JsonItemExporter

# exporters.py模块中还有csv, xml,pickle,marshal等文件的保存类

class JsonExporterPipeline:

def __init__(self):

self.file = open('save_file.json', 'wb')

self.exporter = JsonItemExporter(self.file, encoding='utf-8',ensure_ascii=Fal

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值