前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫课程(十)|豆瓣:通过Pipeline保存数据到json文件和mysql数据库

爬虫课程(十)|豆瓣:通过Pipeline保存数据到json文件和mysql数据库

作者头像
黄小怪
发布2018-05-21 17:04:45
1.8K0
发布2018-05-21 17:04:45
举报
文章被收录于专栏:小怪聊职场小怪聊职场

在上一个课程爬虫课程(九)|Scrapy中items设计及如何把item传给Item Pipeline 中,我们知道了怎么把Item的值传给Pipeline管道,那么这篇文章我们就来介绍下怎么通过Pipeline把数据保存起来。

一、通过Pipeline把数据保存到Json文件

我使用的方法是调用scrapy提供的json export导出json文件,实际上scrapy.exporters提供了导出多个文件的方法,当我们去exporters.py源码查看是,我们发现它提供了8中导出文件的方式,如下图,我们这里只举例保存json格式。

exporters支持导出8中不同格式的文件

第一步,先到Pipeline文件编写一个保存json文件的Pipeline,如下图片:

编写Pipeline

第二步,把这个DataSubmitJsonFilePipeline配置到settings中,如下图:

settings

第三步,执行douban_book爬虫。

执行

最后,生成了doubanBook.json文件(默认格式是一行,我使用JSON Parser进行了格式化)。

doubanBook.json

二、通过Pipeline把数据保存到MYSQL数据库

第一步,先创建一个数据库spider_db,新建一个表tb_douban_book,并把对应的数据表字段增加上去,如下图,ps:如果有对mysql不了解的,可以留言告诉我,我再决定要不要写一篇文章来介绍下mysql的使用。

新建tb_douban_book表

第二步,编写一个插入数据库数据的Pipeline,如下图:

插入数据库的Pipeline

第三步,把这个DataSubmitMysqlPipeline配置到settings中,如下图:

配置settings

最后,执行douban_book爬虫,查看数据库的结果,所有的数据都成功插入到mysql数据表中。

数据入库

三、对上面数据插入MYSQL数据库的说明

我们知道上面的方法是通过同步的方式把Item中的数据插入到MYSQL数据库中,然后在实际应用中,为了能够更快速度地响应数据插入的请求,我们都是采用异步的方式把数据插入MYSQL数据库。

关于使用数据库连接池和异步的方式插入数据库的使用,我们会在后面的课程中讲解。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档