windows部署SpiderKeeper(爬虫监控)
最近发现了一个spdierkeeper的库,这个库的主要用途是在于配合这scrpyd管理你的爬虫,支持一键式部署,定时采集任务,启动,暂停等一系列的操作.
简单来说将scrapyd的api进行封装,最大限度减少你跟命令行交互次数.不得说这个是很棒的事情.
https://github.com/DormyMo/SpiderKeeper SpiderKeeper的github连接
环境配置
由于 scrapyd是基于python3+以上的版本兼容性较好,所以我们需要的环境为
python3.4+、scrapyd、scrapy_client、SpiderKeeper、scrapy & scrapy相关的库、scrapy_reids (如果缺少这个在部署任务会报错(Reids.KeyErroe:'xxx'), xxx我们部署的任务.)
pip install spiderkeeper pip install scrapy pip install scrapy_redis pip install scrapyd pip install scrapy_client
启动&配置
安装完成之后,便可以启动服务器了
单台服务器
spiderkeeper # 启动单台服务器,默认启动本地的 http://localhost:6800 scrapyd的服务 | spiderkeeper的默认端口为5000.
连接多台scrapyd服务器.
在分布式中我们的服务器中肯定不止一台,使用spiderkeeper可以很好的解决这个问题
spiderkeeper --server=http://localhost:6800 --server=http://111.111.111.111:6800 #启动一个spiderkeeper可以同时部署两台服务器的spider
更改用户名&密码&更改端口号
进入到spiderkeeper安装目录下:
config.py
更改用户名&密码
# Statement for enabling the development environment import os DEBUG = True # Define the application directory BASE_DIR = os.path.abspath(os.path.dirname(__file__)) SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(os.path.abspath('.'), 'SpiderKeeper.db') SQLALCHEMY_TRACK_MODIFICATIONS = False DATABASE_CONNECT_OPTIONS = {} # Application threads. A common general assumption is # using 2 per available processor cores - to handle # incoming requests using one and performing background # operations using the other. THREADS_PER_PAGE = 2 # Enable protection agains *Cross-site Request Forgery (CSRF)* CSRF_ENABLED = True # Use a secure, unique and absolutely secret key for # signing the data. CSRF_SESSION_KEY = "secret" # Secret key for signing cookies SECRET_KEY = "secret" # log LOG_LEVEL = 'INFO' # spider services SERVER_TYPE = 'scrapyd' SERVERS = ['http://localhost:6800'] # basic auth 这里更改用户名&密码 NO_AUTH = False BASIC_AUTH_USERNAME = 'admin' BASIC_AUTH_PASSWORD = 'admin' BASIC_AUTH_FORCE = True
run.py
更改端口号
def parse_opts(config): parser = OptionParser(usage="%prog [options]", description="Admin ui for spider service") parser.add_option("--host", help="host, default:0.0.0.0", dest='host', default='0.0.0.0')#bind ip 绑定ip 默认全部人可以访问 parser.add_option("--port", help="port, default:5000", dest='port', type="int", default=5000)#默认端口号5000 可以根据你的需求设计 parser.add_option("--username", help="basic auth username ,default: %s" % config.get('BASIC_AUTH_USERNAME'), dest='username', default=config.get('BASIC_AUTH_USERNAME')) parser.add_option("--password", help="basic auth password ,default: %s" % config.get('BASIC_AUTH_PASSWORD'), dest='password', default=config.get('BASIC_AUTH_PASSWORD')) parser.add_option("--type", help="access spider server type, default: %s" % config.get('SERVER_TYPE'), dest='server_type', default=config.get('SERVER_TYPE')) parser.add_option("--server", help="servers, default: %s" % config.get('SERVERS'), dest='servers', action='append', default=[]) parser.add_option("--database-url", help='SpiderKeeper metadata database default: %s' % config.get('SQLALCHEMY_DATABASE_URI'), dest='database_url', default=config.get('SQLALCHEMY_DATABASE_URI')) parser.add_option("--no-auth", help="disable basic auth", dest='no_auth', action='store_true') parser.add_option("-v", "--verbose", help="log level", dest='verbose', action='store_true') return parser.parse_args()
使用scrapyd打包你的项目生成.egg文件,以便后面传到spiderkeeper上面C:\Users\admin\workspace\pc\Lib\site-packages\scrapyd-client
为scrapyd-client
安装目录,news.egg为生成的文件命名,文件名可任意命名,要以.egg结尾
python "C:\Users\admin\workspace\pc\Lib\site-packages\scrapyd-client\scrapyd-deploy" --build-egg news.egg
在项目目录下启动scrapyd(注意,必须现在项目目录下的scrapy.cfg中开启url这个选项,默认是注释状态,不生效)
在浏览器访问127.0.0.1:5000,创建项目
点击创建项目,项目名称自己随意设置
上传刚才生成的egg文件
点击仪表盘,添加一个任务
spiderkeeper一大优点就是计划任务做的很好,帮助我们减少了一些工作。
这里计划任务根据自己需求设置,设置完点击创建即可
设置完成点击运行即可,如果你设置错了,也可以选择移除它。
部署完成,回到仪表盘看下自己的爬虫执行状态。
不想运行了也可以点击结束爬虫,需要注意的是,一个爬虫结束后,需要在进行添加一次任务。spiderkeeper封装了scrapyd的log接口,我们可以直接点击log查看爬虫的异常信息。
扩展:
如果想把监控部署在网络上,项目目录下scrapy.cfg中的url需要配置成0.0.0.0,设置完请重启scrapyd。
windows部署SpiderKeeper(爬虫监控)的更多相关文章
- Scrapyd+Gerapy部署Scrapy爬虫进行可视化管理
Scrapy是一个流行的爬虫框架,利用Scrapyd,可以将其部署在远程服务端运行,并通过命令对爬虫进行管理,而Gerapy为我们提供了精美的UI,可以在web页面上直接点击操作,管理部署在scrap ...
- 部署点评Cat监控项目(转)
原文地址:http://www.bubuko.com/infodetail-986338.html 在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat, ...
- Windows下使用性能监视器监控SqlServer的常见指标
这篇文章主要介绍了Windows下使用性能监视器监控SqlServer的常见指标,常见指标包括Buffer Cache Hit Ratio.Pages/sec. Available Bytes.Dis ...
- Visual Studio GitHub For Windows部署
使用GitHub For Windows部署Visual Studio项目 因为最近同时再看很多技术方面的书,书上的例子有很多自己想亲自尝试一下,但是每次写例子都得创建一个新项目未免太麻烦,索性就整理 ...
- Docker部署Zabbix+Grafana监控
Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...
- 部署点评Cat监控项目
在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat,总会遇到各种问题,讲解的也不够简明清楚,现在用一个单机来部署运行cat监控项目. 首先,到项目的Gi ...
- JMC监控(Windows上远程连接监控Linux服务器的JVM)
Windows上远程连接监控Linux服务器的JVM:1.Linux服务器上配置:在Tomcat的tomcat-wms/bin/catalina.sh中添加CATALINA_OPTS="-X ...
- WebMagic之爬虫监控
访问我的博客 前言 年前闲着无聊,研究了一阵子爬虫技术,接触到爬虫框架 WebMagic,感觉很好用. 在之后的工作中,接手了新站与第三方接口对接的工作,主要的工作是去抓取对方接口的内容:初始的时候, ...
- python使用wmi模块获取windows下的系统信息监控系统-乾颐堂
Python用WMI模块获取Windows系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 本文实例讲述了python使用wmi模块获取w ...
随机推荐
- 11个超棒的iOS开发学习网站
原文:11 Insanely Great iOS Developers Sites 永不止步地向他人学习 我相信,要想从一个"还不错"的人变成一个卓越的人,我们需要不停地向他人学习 ...
- obj-c编程14:Cocoa和Cocoa Touch简介
这一篇篇幅相对少很多,几乎没有代码,全部都要靠本猫的语言组织能力啊!Cocoa框架在前面讲解F库时曾简单做过介绍,现在再具体说一说喽.各位童鞋是否已经发现鸟,前面所写的所有代码都是基于终端(或称之为c ...
- Django处理流程
用户通过浏览器发送请求 请求到达request中间件,中间件对request请求做预处理或者直接返回response 若未返回response,会到达urlconf路由,找到对应视图函数 视图函数做相 ...
- XML学习教程
XML学习进阶1-- 什么是XML. 为什么使用 XML?... 什么是 XML?... 数据的结构表示... XML 文档... 数据是从表示和处理中分离出来的... 使XML数据自描述... XM ...
- Struts2,Spring,Hibernate优缺点
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发. 优点: Struts跟Tomcat.Turbine等诸多Apache项目一样,是开源软件,这是它的 ...
- 解决XMind运行卡顿
问题 XMind是一款很好用的脑图工具,它是基于eclipse开发的,而且基础功能是免费的.最近我安装了XMind 8 Pro,但是发现在Mac上运行有卡顿. 解决方式 解决这个问题的思路也很简单,软 ...
- Day6_正则表达式
用作匹配数据的方法: print(re.findall('\w','yangshuai 123 asd \n \t')) #w:匹配字母数字下划线 print(re.findall('\W','yan ...
- Sec site list
Seclist: 英语: http://seclists.org/ http://www.securityfocus.com/ http://www.exploit-db.com/ http ...
- ThinkPHP5从零基础搭建CMS系统(二)
接上节,开启wamp集成环境,在浏览器地址栏输入http://localhost/cms/public,即可运行项目,但是这边域名太长,做一下处理. 注:需要查看tp5全部教程,请点击右侧thinkp ...
- KNN算法思想与实现
第二章 k近邻 2.1 算法描述 (1)采用测量不同特征值之间的距离进行分类 优点:对异常点不敏感,精度高,无数据输入设定 缺点:空间,计算复杂度高 适合数据:标称与数值 (2)算法的工作原理: 基于 ...