Scrapyd简介

作者: 权力博 | 来源:发表于2019-04-21 20:36 被阅读11次

    Scrapyd是一个用来部署和运行Scrapy项目的应用,由Scrapy的开发者开发。其可以通过一个简单的Json API来部署(上传)或者控制你的项目。

    Scrapyd可以用来管理多个项目,并且每个项目还可以上传多个版本,不过只有最新的版本会被使用。

    在安装并开启Scrapyd之后,它将会挂起一个服务来监听运行爬虫的请求,并且根据请求为每一个爬虫启用一个进程来运行。Scrapyd同样支持同时运行多个进程,进程的数量由max_proc和max_proc_per_cpu选项来限制。

    windows 安装scrapyd以及使用

    首先在终端安装 scrapyd 命令: pip install scrapyd

    终端安装 scrapyd服务

    第二安装scrapyd-client ,我们也可以在 pycharm 中安装。

    终端安装命令 : pip install scrapyd-client

    同时也可以在 终端安装

    测试scrapyd 是否安装成功如果是这样子就表示安装完成

    终端展示结果。  

    然后我们打开浏览器输入 127.0.0.1:6800会出现这样一个页面表示scrapyd 安装成功。

    浏览器展示结果

    下面就是让人头疼的问题了,官方文档上面说 使用命令:scrapyd-deploy -l 可以查看当前部署的爬虫项目,但是当我输入这段命令的时候显示这个命令不是内部或外部命令。

    ——解决方案:

    在python 目录下的 Scripts文件中,我的路径是 “D:\App\python36\Scripts”,在下面添加一个scrapyd-deploy.bat文件

    找到自己的python环境目录

    在里面添加:

    @echo off

    "D:\App\python36\

    python.exe"  "D:\App\python36\Scripts\scrapyd-deploy" %*

    这里一定要用双引号,点引号有时可能不行所以我们尽量使用双引号。

    注意:这里的是你电脑里面的python路径每个人的路径都不同

    下面我们设置这个项目下面的scrapy.cfg文档

    设置scrapy.cfg

    现在重新打开命令框,再运行scrapyd-deploy -l 就可以了,可以看到我这里的部署名称和端口信息

    二、发布工程到我们的scrapyd

    scrapyd-deploy target -p prject

    这里target 为你的服务器命令,prject是你工程的名字,发布工程之前我们的scrapyd.cfg必须修改,上面我们已经修改过了,因此我的命令是:scrapyd-deploy zwb -p qikan

    这里的话返回给我们的是一个json信息。

    我们也可以点击他给我们的url

    启动我们的爬虫

    如用如下命令启动: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=qikan -d spider=careers

    这里同样会返回json数据,但是我们可以在我们终端看到我们的爬虫项目已经跑起来了

    终端的情况:

    这里我看了一下scrapyd的jobs 可以看到这里已经有了两个工程,因为我跑了两次,当然现在爬虫还没有停止。

    停止一个爬虫

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

    PROJECT_NAME填入你爬虫工程的名字,SPIDER_NAME填入你爬虫的名字

    停止我的爬虫工程,这只是简单的部署到本地

    相关文章

      网友评论

        本文标题:Scrapyd简介

        本文链接:https://www.haomeiwen.com/subject/fkcrrqtx.html