博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scrapyd 部署
阅读量:6885 次
发布时间:2019-06-27

本文共 3026 字,大约阅读时间需要 10 分钟。

scrapy爬虫写好后,需要用命令行运行,如果能在网页上操作就比较方便。scrapyd部署就是为了解决这个问题,能够在网页端查看正在执行的任务,也能新建爬虫任务,和终止爬虫任务,功能比较强大。

一、安装

1,安装scrapyd

pip install scrapyd

2, 安装 scrapyd-deploy

pip install scrapyd-client

windows系统,在c:\python27\Scripts下生成的是scrapyd-deploy,无法直接在命令行里运行scrapd-deploy。

解决办法:
在c:\python27\Scripts下新建一个scrapyd-deploy.bat,文件内容如下:

@echo offC:\Python27\python C:\Python27\Scripts\scrapyd-deploy %*

添加环境变量:C:\Python27\Scripts;

二、使用

1,运行scrapyd

首先切换命令行路径到Scrapy项目的根目录下,

要执行以下的命令,需要先在命令行里执行scrapyd,将scrapyd运行起来

MacBook-Pro:~ usera$ scrapyd/usr/local/bin/scrapyd:5: UserWarning: Module _markerlib was already imported from /Library/Python/2.7/site-packages/distribute-0.6.49-py2.7.egg/_markerlib/__init__.pyc, but /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python is being added to sys.path  from pkg_resources import load_entry_point2016-09-24 16:00:21+0800 [-] Log opened.2016-09-24 16:00:21+0800 [-] twistd 15.5.0 (/usr/bin/python 2.7.10) starting up.2016-09-24 16:00:21+0800 [-] reactor class: twisted.internet.selectreactor.SelectReactor.2016-09-24 16:00:21+0800 [-] Site starting on 68002016-09-24 16:00:21+0800 [-] Starting factory 
2016-09-24 16:00:21+0800 [Launcher] Scrapyd 1.1.0 started: max_proc=16, runner='scrapyd.runner'

2,发布工程到scrapyd

a,配置scrapy.cfg

在scrapy.cfg中,取消#url = 前面的“#”,具体如下:,

然后在命令行中切换命令至scrapy工程根目录,运行命令:

scrapyd-deploy 
-p

示例:

scrapd-deploy -p MySpider
  • 验证是否发布成功
scrapyd-deploy -loutput:TS                   http://localhost:6800/

一,开始使用

1,先启动 scrapyd,在命令行中执行:

MyMacBook-Pro:MySpiderProject user$ scrapyd

2,创建爬虫任务

curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2
  • bug:
    scrapyd deploy shows 0 spiders by scrapyd-client
    scrapy中有的spider不出现,显示只有0个spiders。
  • 解决
    需要注释掉settings中的
# LOG_LEVEL = "ERROR"# LOG_STDOUT = True# LOG_FILE = "/tmp/spider.log"# LOG_FORMAT = "%(asctime)s [%(name)s] %(levelname)s: %(message)s"

When setting LOG_STDOUT=True, scrapyd-deploy will return 'spiders: 0'. Because the output will be redirected to the file when execute 'scrapy list', like this: INFO:stdout:spider-name. Soget_spider_list can not parse it correctly.

3,查看爬虫任务

在网页中输入:

下图为的内容:

img_89788355cd42e3d837c6e81fc5e8629a.jpe

4,运行配置

配置文件:C:\Python27\Lib\site-packages\scrapyd-1.1.0-py2.7.egg\scrapyd\default_scrapyd.conf

[scrapyd]eggs_dir    = eggslogs_dir    = logsitems_dir   = itemsjobs_to_keep = 50dbs_dir     = dbsmax_proc    = 0max_proc_per_cpu = 4finished_to_keep = 100poll_interval = 5http_port   = 6800debug       = offrunner      = scrapyd.runnerapplication = scrapyd.app.applicationlauncher    = scrapyd.launcher.Launcher[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

参考

转载地址:http://ubibl.baihongyu.com/

你可能感兴趣的文章
unity_ UI
查看>>
loj#6437. 「PKUSC2018」PKUSC(计算几何)
查看>>
CF1110G Tree-Tac-Toe(博弈论)
查看>>
iOS 百度地图大头针使用
查看>>
Linux 源码编译Python 3.6
查看>>
Hibernate-ORM:01.Hibernate恍如隔世般初见
查看>>
更新数据+获取行号+某行记录的地址+from字句
查看>>
goto,null
查看>>
the way of reading English books
查看>>
文本超出部分省略(包括多行文本超出部分省略显示)
查看>>
MongoDB数据库索引
查看>>
jq 操作表单中 checkbox 全选 单选
查看>>
高并发和大流量解决方案@year12
查看>>
模板:排序(三)
查看>>
jsp页面动态展示list-使用<select>和<c:forEach>标签
查看>>
html 样式之style属性的使用
查看>>
Linux 中显示所有正在运行的进程
查看>>
POJ 1753 Flip Game
查看>>
Vc控件用法总结之List Control
查看>>
[转] 【开源访谈】Muduo 作者陈硕访谈实录
查看>>