美文网首页
管理scrapy爬虫的部署和运行的服务scrapyd

管理scrapy爬虫的部署和运行的服务scrapyd

作者: 七月泽灵 | 来源:发表于2018-08-27 23:50 被阅读0次

    本地部署

    #step1: 安装scrapyd、scrapyd-client

    pip install scrapyd
    pip install scrapyd-client
    

    #step2:修改scrapy.cfg文件

    其中,server-bull是自定义的名字,url是运行scrapyd的服务器的地址,6800是scrapyd的默认监听端口,project是此爬虫所在的文件夹。

    [deploy:server-bull]
    url = http://localhost:6800/
    project = bull
    

    #step3: 打包爬虫文件

    scrapyd-deploy <target> -p <project> --version <version>
    scrapyd-deploy server-bull -p bull --version V1
    

    target就是前面配置文件里deploy后面的的target名字。
    project 可以随意定义,跟爬虫的工程名字无关。
    version自定义版本号,不写的话默认为当前时间戳。

    #step4: 启动爬虫

    curl http://localhost:6800/schedule.json -d project=<project> -d spider=<spider>
    curl http://localhost:6800/schedule.json -d project=bull -d spider=bullspide
    

    project是此爬虫所在的文件夹。
    spider就是爬虫name。

    远程部署

    默认scrapyd启动是通过scrapyd命令就可以直接启动,bind绑定的ip地址是127.0.0.1端口是:6800,为了远程可以访问,需修该default_scrapyd.conf文件将ip地址设置为0.0.0.0
    即将 
    bind_address = 127.0.0.1
    改为 
    bind_address = 0.0.0.0
    

    一般地

    /usr/local/lib/python3.6/dist-packages/scrapyd/default_scrapyd.conf   #ubuntu16
    /usr/lib/python2.7/site-packages/scrapyd/default_scrapyd.conf         #centos7
    

    相对应的IP地址换成远程主机的IP

    接口调用

    • 获取状态
      curl http://127.0.0.1:6800/daemonstatus.json

    • 调度爬虫
      curl http://localhost:6800/schedule.json -d project=project -d spider=spider

    • 带上参数
      curl http://localhost:6800/schedule.json -d project=project -d spider=spider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1

    • 取消运行
      curl http://localhost:6800/cancel.json -d project=project -d job=6487ec79947edab326d6db28a2d86511e8247444

    • 列出项目
      curl http://localhost:6800/listprojects.json

    • 列出版本
      curl http://localhost:6800/listversions.json?project=project

    • 列出爬虫
      curl http://localhost:6800/listspiders.json?project=project

    • 列出job
      curl http://localhost:6800/listjobs.json?project=project

    • 删除版本
      curl http://localhost:6800/delversion.json -d project=project -d version=v1

    • 删除项目
      curl http://localhost:6800/delproject.json -d project=project

    相关文章

      网友评论

          本文标题:管理scrapy爬虫的部署和运行的服务scrapyd

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