scapyd scrapyd-client scrapy使用http调度spider.md
来源:互联网 发布:Windows支持的文件系统 编辑:程序博客网 时间:2024/06/05 18:43
文档还是看英文的好,看中文的有些也是一知半解,反而会误解
基本概念
scrapyd
scrapyd是使用http方式,管理维护scrapy工程应用服务器
管理scrapy工程部署,可以上传部署工程
管理spider,启动,停止,删除spider
管理scrapy日志,数据输出
官方文档url
scrapyd-client
使用scrapyd-client,打包scrapy工程
scrapyd-deploy 上传scrapy工程到scrapd应用服务器
github 官网url
安装过程
非Ubuntu,以下是mac平台的安装过程
pip install scrapyd
pip install scrapyd-client
scrapyd 配置
文档参考: configurations
mac平台下安装的scrapyd,默认没有生成配置文件,最好先手动配置好文件,以免使用过程中碰到莫名其妙的问题,本人走过弯路
配置过程按照官网所谓通俗的做法如下
sudo mkdir /mnt/scrapyd # 目录自己定义chown -R cdz /mnt/scrapydcd /mnt/scrapyd/mkdir eggsmkdir logsmkdir itemsmkdir dbssudo mkdir /etc/scrapyd/chown -R cdz /etc/scrapyd/cd /etc/scrapyd/vi scrapyd.conf 配置如下:[scrapyd]eggs_dir = /mnt/scrapyd/eggslogs_dir = /mnt/scrapyd/logslogs_filename = {spider}-{Y}{m}{d}.logitems_dir =jobs_to_keep = 5dbs_dir = /mnt/scrapyd/dbsmax_proc = 0max_proc_per_cpu = 4finished_to_keep = 100poll_interval = 5bind_address = 0.0.0.0http_port = 6800debug = offrunner = scrapyd.runnerapplication = scrapyd.app.applicationlauncher = scrapyd.launcher.Launcherwebroot = scrapyd.website.Root[services]schedule.json = scrapyd.webservice.Schedulecancel.json = scrapyd.webservice.Canceladdversion.json = scrapyd.webservice.AddVersionlistprojects.json = scrapyd.webservice.ListProjectslistversions.json = scrapyd.webservice.ListVersionslistspiders.json = scrapyd.webservice.ListSpidersdelproject.json = scrapyd.webservice.DeleteProjectdelversion.json = scrapyd.webservice.DeleteVersionlistjobs.json = scrapyd.webservice.ListJobs
scrapy项目scrapy.cfg 配置
- 配置如下:
[settings]default = get_app_analytics.settings[deploy:ios_analytics]url = http://localhost:6800/project = ios_get_app_analytics
deploy:target 若只有一个工程target可以省略,不管是否只有一个工程,统一格式都按照这么写
project:scrapy工程名
scrapyd-client 使用scrapy-deploy部署
cd 切换到scrapy.cfg所在目录
执行 scrapyd-deploy ios_analytics -p ios_get_app_analytics –v r1.0.0
注意事项
ERROR: Error caught on signal handler: <bound method ?
- 原因:没有scrapyd.conf配置文件,scrapyd运行采用默认的配置,出错。stackflow上有解释是与FeedExports功能相关,但是官方文档默认FeedExports是禁用的,应该不受影响。无法找出具体原因,之前出问题是没有配置scrapyd.conf急于上线,手动增加配置文件后,修复问题。
unexpected keyword argument ‘_job’
原因:继承Spider,重写init()函数,没有使用与接口同样的格式,函数格式:def init(self, callbackUrl=None, **kwargs): 注意要有**kwargs,scrapyd会调用spider,通过kwargs传递_job参数
解决:注意必须要有**kwargs,参数,此参数用来向Spider传递参数
使用例子
普通调度
curl http://localhost:6800/schedule.json -d project=ios_get_app_analytics -d spider=get_app_detail
传参数调度
curl http://localhost:6800/schedule.json -d project=ios_get_app_analytics -d spider=get_app_detail -d setting=APP_USER=xxx@icloud.com -d setting=APP_PASSWORD=haha
- scapyd scrapyd-client scrapy使用http调度spider.md
- scrapy和scrapyd-client的使用教程
- windows 7 使用 scrapyd 监控 scrapy的 spider
- Scrapy——scrapyd的使用
- python scrapy部署scrapyd
- Scrapyd 使用
- 搜索引擎–Python下开源爬虫(spider)框架scrapy的使用
- 使用python的scrapy框架,spider与pipelines的调用
- 使用scrapy、selenium、phantojs抓取豆瓣热门电影的spider
- Scrapy spider代码片段
- Scrapy Spider前奏
- scrapy 入门教程 爬虫 Spider
- Spider based on scrapy
- scrapy爬虫之Spider
- scrapy中spider
- scrapy的spider
- scrapy 之 Spider类
- 爬虫Scrapy-05Spider
- 人工蜂群算法性能比较
- Mongodb-面向使用学习-基本操作-(改与删)
- Calculation
- [翻译]AKKA笔记 - DEATHWATCH -7
- 《数据结构》创建二叉树
- scapyd scrapyd-client scrapy使用http调度spider.md
- 编程之美2.11寻找最近点对Java版一
- POJ 1331(确定进制)
- 12-227 网络客户端开发(TCP)
- 汇编实现排序——直接插入排序
- Eckert-Mauchly 2016
- Linux 系统性能分析工具图解读
- eclipse代码自动补全
- c语言学习笔记33之void