保存数据到MySql数据库——我用scrapy写爬虫(二)

2018-01-23 17:55:17 浏览数 (1)

写在前面

上一篇(https://www.tech1024.cn/original/2951.html )说了如何创建项目,并爬去网站内容,下面我们说一下如何保存爬去到的数据

开始爬取

创建Spider,上一篇我们已经创建了ImoocSpider,我们做一下修改,可以连续下一页爬取。

scrapyDemo/spiders目录下的ImoocSpider类:

这里用到了scrapyDemo目录下ImoocCourseItem类,下面我就说一下。

Item数据容器

在scrapyDemo目录下创建ImoocCourseItem.py,这个类就是我们用了保存数据的容器,我们定义了标题、图片、简介、地址。

scrapyDemo目录下ImoocCourseItem类:

Pipeline管道

Pipeline是用来处理抓取到的数据,我们在scrapyDemo目录下创建ScrapydemoPipeline.py类

别忘了在配置文件中开启管道哦,scrapyDemo目录下的settings.py文件中,找到下ITEM_PIPELINES,修改为

数据库操作

这里面我们用到了数据库的操作DBHelper类,那么我们在scrapyDemo/db目录下创建dbhelper.py 模块,记得再创建一个init.py哦。

这里用到了pymysql和adbapi,adbapi是python的数据库连接池,可以pip安装:

这里面还用到了getprojectsettings方法,意思是从配置文件settings.py里边获取数据库配置信息,我们在scrapyDemo目录下的settings.py文件最后加入数据库信息

建表语句如下:

大功告成

我们在命令行运行项目

如果没有报错,我们的数据库是不是有数据了呢

0 人点赞