数据采集练习之部署爬虫到Scrapy Cloud
2018-08-02 本文已影响193人
cathy1997
介绍
Scrapinghub公司提供基于云的Web爬行平台和数据即服务,Scrapy Cloud是Scrapinghub下的一个托管的云服务器。
Scrapy Cloud使用的优点:
- 免除了安装和监控服务器的需要
- 提供了非常美观的UI来管理各个Spider,爬虫可视化
- 可查看被抓取的Item,日志和状态等
- Scrapy Cloud很多功能是免费的
- Crawlera可以帮助用户绕过反爬虫措施,从而更快的抓取大型网站
- 爬取的数据可以存储在scrapinghub提供的数据库中
使用shub命令行工具来将spider部署到Scrapy Cloud,参考官方文档。
注册账号 & 新建 scrapy cloud project
在scrapyinghub 官网 注册账号,这里直接使用GitHub账号登录。
登录后 create project,选择spider类型为Scrapy。
创建一个demo项目
在新建的项目下,查看 Code & Deploys,找到 API key 和 Project ID
查看API Key
本地配置并部署到scrapinghub
安装Scrapinghub命令行客户端shub。
$ pip install shub
install shub
查看shub版本:
shub版本
login 并输入 API key,登录之后会一直保持连接,不会随着命令窗口的关闭而关闭。
$ shub login
Enter your API key from https://dash.scrapinghub.com/account/apikey
API key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Validating API key...
API key is OK, you are logged in now.
上传工程并输入project ID
注意:使用之前需要提前配置好python的环境变量
$ cd quotes # 打开要运行的文件
$ shub deploy 313348
上传成功
开始进行数据爬取
在自己的项目面板下点击run
开启爬虫。
运行过程中可以实时监控 crawler job 的情况:发出的请求数、抓取的 item 数、log 和 error 信息、执行的时间等都一目了然。运行完毕,查看爬取详细信息:
详细信息
可以看到,总共获得了100个items,发出了11个requests请求,运行时间为32秒。分别点击查看详细信息:
items详细信息按照每个item排列
requests请求先查看了robots.txt文件再访问目标网址
存储items
-
导出json文件
导出json文件 -
存储到数据库
存到publish dataset
查看,下一次就可以通过Dataset-->Quotes直接打开这些数据了。
查看数据