【小白学爬虫连载(14)】--scrapy分布式部署

欢迎关注【哈希大数据】

【小白学爬虫连载(1)】-爬虫框架简介

【小白学爬虫连载(2)】--Requests库介绍

【小白学爬虫连载(3)】--正则表达式详细介绍

【小白学爬虫连载(4)】-如何使用chrome分析目标网站

【小白学爬虫连载(5)】--Beautiful Soup库详解

【小白学爬虫连载(6)】--Selenium库详解

【小白学爬虫连载(7)】--scrapy框架的安装

【小白学爬虫连载(8)】--scrapy框架入门教程

【小白学爬虫连载(9)】--scrapy构架设计分析

【小白学爬虫连载(10)】--如何用Python实现模拟登陆网站

【小白学爬虫连载(11)】--pyquery库详解

【小白学爬虫连载(12)】--获取免费高匿代理IP

【小白学爬虫连载(13)】--Scrapy如何突破反爬虫

【小白学爬虫连载(14)】--scrapy分布式部署

scrapy分布式部署

之前我们启动scrapy爬虫的时候都是用命令行,这个不是很方便,如果有多个爬虫时不便于管理。本次给大家分享很好用的管理scrapy的第三方库scrapyd,Scrapyd是scrapinghub官方提供的爬虫管理、部署、监控的方案。接下来我们将从安装、配置、使用这三方面介绍如何使用scrapyd。

1

安装

安装scrapyd

pip install scrapyd

安装scrapyd-client

pip install scrapyd-client

这里之所以安装scrapyd-client,是因为直接利用scrapyd部署项目是需要自己手动把项目打包成egging文件,过程比较繁琐,利用scrapyd-client可以很简单的完成部署。


注意:安装完scrapyd-client可能出现不能使用的情况,此时在

你的python\Script下创建一个scrapyd-deploy.bat文件,填写内容为:

@echo off

"F:\project\simulate_browser\venv\Scripts\python.exe" "F:\project\simulate_browser\venv\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9

#将上面路径替换为你的python.exe文件和scrapyd-deploy所在路径。

然后就OK了。

2

项目部署

 
 

(1)运行scrapyd

首先切换命令行路径到Scrapy项目的根目录下,在命令行里执行scrapyd,将scrapyd运行起来。就会如下图所示:

1

安装

安装scrapyd

pip install scrapyd

安装scrapyd-client

pip install scrapyd-client

这里之所以安装scrapyd-client,是因为直接利用scrapyd部署项目是需要自己手动把项目打包成egging文件,过程比较繁琐,利用scrapyd-client可以很简单的完成部署。


注意:安装完scrapyd-client可能出现不能使用的情况,此时在

你的python\Script下创建一个scrapyd-deploy.bat文件,填写内容为:

@echo off

"F:\project\simulate_browser\venv\Scripts\python.exe" "F:\project\simulate_browser\venv\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9

#将上面路径替换为你的python.exe文件和scrapyd-deploy所在路径。

然后就OK了。

2

项目部署

 
 

(1)运行scrapyd

首先切换命令行路径到Scrapy项目的根目录下,在命令行里执行scrapyd,将scrapyd运行起来。就会如下图所示:


此时打开url = http://localhost:6800/网址将看到如下网页:


(2)发布项目到scrapyd

首先配置scrapy.cfg

在scrapy.cfg中,取消#url = http://localhost:6800/前面的“#”

然后在项目根目录下新开命令窗口输入:

scrapyd-deploy -p <scrapy项目名称>

如下图:


3

启动、停止、查看爬虫

此时如果你未关闭第2步运行scrapyd的命令窗口,直接利用如下命令行启动爬虫:

curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2

如果关闭了第2步运行scrapyd的命令窗口,此时同步骤1再次启动scrapyd,然后利用上面的命令启动爬虫。

此时我们打开http://localhost:6800/,点击jobs,可以看到如下网页:


如上图所示我们一次可以启动多个爬虫。经过一段时间的运行所有爬虫运行完毕如下图所示:


我们还可以中途停止正在运行的爬虫,命令如下:

curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID

其中JOB_ID可以通过上图中的job列获得,非常的方便。

更多的API大家可参考:http://scrapyd.readthedocs.io/en/latest/api.html

小结

此前我们介绍了几个利用scrapy爬取各类信息的实例,随着爬虫数量的增加,爬虫任务量的增加。我们需要采用分布式的结构来运行我们的爬虫,此时如何统一管理、部署、监控就是一个比较难办的问题,这里我们介绍了一个scrapyd库,来解决以上问题。本文主要从安装、项目部署、具体如何使用三方面介绍了该库





猜你喜欢

转载自blog.csdn.net/hashdata2018/article/details/80527708