声明
本教程为原创教程,转载请注明出处http://kongtianyi.cn/2016/10/14/python/Scrapy-Lesson-4/
本节内容
这一小结我们共同学习把Scrapy爬取到的数据存储到MongoDB数据库中。其中包括以下知识:
- Linux下MongoDB的安装
- pymongo的安装
- Scrapy + pymongo
- Robmongo的下载使用
我已将本节内容的源码传至本项目的useMongoDB分支,不学习本节不影响以后的教程学习。
安装MongoDB
使用apt-get进行安装1
sudo apt-get install mongodb
打开/关闭服务命令1
2sudo service mongodb start
sudo service mongodb stop
如果不对其进行配置的话,MongoDB的默认端口是27017,我们就使用默认配置吧。
为了测试是否安装成功,可以在命令行中输入1
2sudo service mongodb start
mongo
正常如下图所示:
pymongo的安装
在本地搭起了MongoDB并开启后,我们需要使用Python来操作它,pymongo就是一个Python操作MongoDB的第三方库。
直接使用pip下载它,输入以下命令:1
sudo pip install pymongo
结果如下图代表安装成功
可以先在命令行里验证一下是否能够调用,如下图,没问题:
Scrapy+pymongo
我们这里使用的是第三节完成的项目进行修改,项目地址:heartsong。原本是将爬取的数据存入txt文件,现在我们改成将数据存入本地MongoDB数据库,当然,远程数据库也同理啦。
首先开启本地的MongoDB服务
1 | sudo service mongodb start |
在settings.py
文件中添加数据库的配置项
1 | MONGO_HOST = "127.0.0.1" # 主机IP |
然后编写Pipelines.py
1 | # -*- coding: utf-8 -*- |
这里要说明一点就是在使用MongoDB的时候不同于MySql,不用事先定义好数据表和表结构。我们用insert语句插入的时候,如果collection还不存在,他会自动被创建出来。
修改好之后就可以跑起来了,命令行输入我们早已熟悉的1
scrapy crawl heartsong
在命令行里的显示跟从前一样这里我就不截图了。
那么问题来了,我们的数据存成功了没?好,用命令行查看一波!
但是这样有点麻烦哎……不要烦,不要慌,神器来了!
Robmongo的下载使用
Robmongo是MongoDB的一个可视化管理工具,类似于PhpMyAdmin和MySQL的关系。它有各种系统的版本,Windows、Linux、MacOS都可以在官网上下载。
如果你想使用命令行来管理你的数据库,当然也是OK的,不过就请移步去学一下MongoDB的操作吧^_^。
下载
直接百度一下“Robmongo”,第一个就是它的官网
进入官网后点击下载链接
最新版本是收费的,我们往下拉,选择从前的版本进行下载,土豪当我没说
等啊等,等啊等,下载好了之后,把tar包放到你想放的位置,直接解压/提取即可
进入解压/提取好的文件夹,进入bin目录,双击robmongo即可打开
然后创建链接
然后Save,Connect,就可以浏览数据库信息啦
小结
本节介绍了Scrapy结合MongoDB进行数据存储,MongoDB和pymongo的其他高大上的操作就请各位自己钻研喽。