Scrapy部署之Scrapyd和Scrapyd-API
一、环境安装
安装scprayd,网址:https://github.com/scrapy/scrapyd
pip install scrapyd
安装scrapyd-client,网址:https://github.com/scrapy/scrapyd-client
pip install scrapyd-client
启动服务
scrapyd
环境测试: http://localhost:6800/
二、部署工程到scrapyd
修改爬虫工程的scrapy.cfg
文件
[deploy]
url = http://localhost:6801/
username = scrapy
password = secret
project = myspider[deploy:target]
url = http://localhost:6802/
username = scrapy
password = secret
project = myspider
command+N 新打开一个终端,进入到爬虫项目目录下,部署爬虫项目
# 部署单个服务器单个项目
scrapyd-deploy <target> -p <project> --version <version> # 部署全部服务器单个项目
scrapyd-deploy -a -p <project>
target为你的服务器名称,没有指定target则为默认地址,project是你的工程名字
部署示例:
$ scrapy list # 检查项目爬虫$ scrapyd-deploy -l # 查看项目$ scrapyd-deploy # 部署默认项目到默认服务器
$ scrapyd-deploy -p myspider # 部署指定项目到默认服务器$ scrapyd-deploy target # 部署默认项目到target服务器$ scrapyd-deploy -a # 部署全部项目到全部服务器
三、启动爬虫
使用如下命令启动一个爬虫
curl http://localhost:6800/schedule.json -d project=PROJECT_NAME -d spider=SPIDER_NAME
PROJECT_NAME填入你爬虫工程的名字,SPIDER_NAME填入你爬虫的名字
我输入的代码如下:
curl http://localhost:6800/schedule.json -d project=myspider -d spider=baidu
因为这个测试爬虫写的非常简单,一下子就运行完了。查看网站的jobs可以看到有一个爬虫已经运行完,处于Finished一列中
四、停止爬虫
curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID
更多API可以查看官网:http://scrapyd.readthedocs.io/en/latest/api.html
五、自定义配置
当前目录下新建文件scrapyd.conf
可以修改scrapyd服务启动的端口号,日志目录等信息
[scrapyd]
eggs_dir = eggs
logs_dir = logs
items_dir =
jobs_to_keep = 5
dbs_dir = dbs
max_proc = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5.0
bind_address = 127.0.0.1
http_port = 6800
debug = off
runner = scrapyd.runner
application = scrapyd.app.application
launcher = scrapyd.launcher.Launcher
webroot = scrapyd.website.Root[services]
schedule.json = scrapyd.webservice.Schedule
cancel.json = scrapyd.webservice.Cancel
addversion.json = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json = scrapyd.webservice.ListSpiders
delproject.json = scrapyd.webservice.DeleteProject
delversion.json = scrapyd.webservice.DeleteVersion
listjobs.json = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus
如果的pendding 任务较多,可以尝试修改 poll_interval=1.0
六、Scrapyd-API
项目地址:https://github.com/djm/python-scrapyd-api
用简单的 Python 代码就可以实现 Scrapy 项目的监控和运行
pip install python-scrapyd-api
from scrapyd_api import ScrapydAPIscrapyd = ScrapydAPI('http://localhost:6800')
scrapyd.list_jobs('project_name')
参考:
- scrapyd部署总结
- scrapyd部署、使用Gerapy 分布式爬虫管理框架
- https://github.com/scrapy/scrapyd-client
- https://scrapyd.readthedocs.io/en/latest/config.html
Scrapy部署之Scrapyd和Scrapyd-API相关推荐
- 第50讲:Scrapy 部署不用愁,Scrapyd 的原理和使用
上节课我们的分布式爬虫部署完成并可以成功运行了,但是有个环节非常烦琐,那就是代码部署. 我们设想下面的几个场景: 如果采用上传文件的方式部署代码,我们首先需要将代码压缩,然后采用 SFTP 或 FTP ...
- Scrapy部署蜘蛛爬虫项目
部署蜘蛛 下面是部署Scrapy蜘蛛定期运行它们的一些方法.在本地机器中运行Scrapy蜘蛛对于(早期)开发阶段来说非常方便,但是当您需要执行长时间运行的蜘蛛或移动蜘蛛以继续在生产中运行时,这并非如此 ...
- SAGEMAKER上部署需要引入sagemakder的API from sagemaker.pytorch import PyTorchModel
SAGEMAKER上部署需要引入sagemakder的API from sagemaker.pytorch import PyTorch from sagemaker.pytorch import P ...
- 在IIS上部署ASP.NET Core Web API
目录 Visual Studio 2019和Dot Net Core 3.0 Windows Server上的Dot Net Core运行时 在服务器上启用IIS IIS应用程序池 IIS网站 创建A ...
- scrapyd部署_如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目
来自 Scrapy 官方账号的推荐 需求分析 初级用户: 只有一台开发主机 能够通过 Scrapyd-client 打包和部署 Scrapy 爬虫项目,以及通过 Scrapyd JSON API 来控 ...
- CloudStack 的配置、部署与管理,以及 API 的使用
CloudStack 在 IaaS 市场的背景和主要竞争对手 随着亚马逊在公有云和 VMware 在私有云方面的成功,各类企业纷纷在云时代迈出了自己的步伐,这些企业希望在自身的计算资源(主机,网络,存 ...
- ASP.NET Core微服务(七)——【docker部署linux上线】(RDS+API接口测试部分)
ASP.NET Core微服务(七)--[docker部署linux上线]: 本文测试采用阿里云的RDS(sqlserver服务器)+ECS(linux服務器)进行测试,由于是测试,[按量付费]买个最 ...
- python flask api部署_使用flask开发api——部署flask,使用gunicorn+gevent模式的http server...
使用flask开发api--部署flask,使用gunicorn+gevent模式的http server 用flask开发了服务端的api,记录部署上服务器的过程,以供后续使用. 安装python3 ...
- PKS部署难点:NSX Manager API证书
部署环境: NSX Manager默认包括一个自签名API证书,该证书主题和颁发者为主机名.Ops Manager要求严格的证书验证,并要求自签名证书的使用者和颁发者是NSX Manager的IP地址 ...
最新文章
- mysql dbcollat_Mysql Server 层混杂信息字典表 | 全方位认识 information_schem(四)
- python基本语法语句-python学习笔记:基本语法
- 单臂路由实验-VTP
- layui概述||layui的学习内容
- 【upc 9541 矩阵乘法】非正解
- centos安装 TA-Lib
- nginx File not found 错误(转)
- oracle避免同一sql多次查询,Oracle SQL - 在一个查询中生成一行答案的最简单方法,因此我不必多次运行查询?...
- C# 多页打印简单实现
- linux睿频是自动的吗,Linux限制cpu睿频限制频率
- AUTH password
- EasyUI TextBox的onkeypress事件
- 【codevs1170】 双栈排序
- 大巴山计算机教育中心那所学校,大巴山计算机教育中心
- 【408考研】数据结构 —— 第一章 绪论
- 在手机上抓包HTTP/HTTPS的请求
- R语言元胞自动机单车道代码_一维单车道交通流元胞自动机模型综述
- 苹果mac休眠快捷键_新手小白用苹果电脑搞科研,学会这些才不至于尴尬!
- 关于 Windows 10 如何扩展分区与合并分区
- bash shell 命令