• 利用scrapy-client 发布爬虫到远程服务端


    远程服务端Scrapyd先要开启

    远程服务器必须装有scapyd,并开启。

    这里远程服务开启的端口和ip:

    192.166.12.80:6800

    客户端配置和上传

    先修爬虫项目文件scrapy.cfg:如下图

    cd  到爬虫项目文件夹下,后执行:

    scrapyd-deploy       # 上传

    scrapyd-deploy  -l       #  查看

    打包项目

    1、打包前先查看项目下的爬虫文件:

    说明可以开始打包了

    2.执行打包命令:

    scrapyd-deploy  部署名称  -p  项目名称

    上面表示打包成功。

    以下是可能出现的问题,以及解决方案:

    如果出现后端报错和scrapyd前端页面报错,解决方案:

    scrapyd 前端报错:

    修改远程服务器(192.168.12.80)上的Twisted的版本改为 18.9.0

     pip3 install Twisted==18.9.0

     重启 Scrapyd:

    在访问192.168.12.80:6800/jobs,正常显示:

     3.上传运行爬虫

    curl http://远程ip:6800/schedule.json -d project=项目名称 -d spider=爬虫名称
    如:
    curl http://192.168.12.80:6800/schedule.json -d project=circ -d spider=bjh

     

    说明部署成功:

     scrapyd部署已经完成了。

    管理 

    1、停止爬虫

    curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID

    2.删除scrapy项目
      注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫

    curl http://localhost:6800/delproject.json -d project=scrapy项目名称

    3.查看有多少个scrapy项目在api中

    curl http://localhost:6800/listprojects.json

    4.查看指定的scrapy项目中有多少个爬虫

    curl http://localhost:6800/listspiders.json?project=scrapy项目名称

    5总结几个请求url,通过在浏览器输入,也可以监控爬虫进程。

    例子:地址栏访问 :http://192.168.12.80:6800/daemonstatus.json,获取到一下页面

    复制代码
    1、获取状态
    http://127.0.0.1:6800/daemonstatus.json
    2、获取项目列表
    http://127.0.0.1:6800/listprojects.json
    3、获取项目下已发布的爬虫列表
    http://127.0.0.1:6800/listspiders.json?project=myproject
    4、获取项目下已发布的爬虫版本列表
    http://127.0.0.1:6800/listversions.json?project=myproject
    5、获取爬虫运行状态
    http://127.0.0.1:6800/listjobs.json?project=myproject
    6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)
    http://127.0.0.1:6800/schedule.json (post方式,data={“project”:myproject,“spider”:myspider})
    7、删除某一版本爬虫
    http://127.0.0.1:6800/delversion.json
    (post方式,data={“project”:myproject,“version”:myversion})
    8、删除某一工程,包括该工程下的各版本爬虫
    http://127.0.0.1:6800/delproject.json(post方式,data={“project”:myproject})
  • 相关阅读:
    Python字符串转码问题
    tcpip详解笔记(21) TCP的路径MTU探测与长肥管道
    sync,fsync,fdatasync,fflush
    tcpip详解笔记(22) telnet协议
    tcpip详解笔记(18)TCP的超时与重传
    tcpip详解笔记(16) TCP的交互数据流
    Get exception description and stack trace which caused an exception
    tcpip详解笔记(20) TCP的Keepalive定时器
    [转]应该知道的Linux技巧
    How to prettyprint JSON script?
  • 原文地址:https://www.cnblogs.com/knighterrant/p/10792236.html
Copyright © 2020-2023  润新知