scrapyd api接口介绍

scrapyd API接口,这里使用postman工具调用,每个接口都添加了scrapyd服务需要的Basic Auth类型用户名和密码。

 

1.daemonstatus.json接口

  检查服务的负载状态

  get请求,传参无

#get请求
http://120.xx.xxx.xxx:6800/daemonstatus.json

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "pending": 0,
    "running": 0,
    "finished": 3
}

 

2.listprojects.json接口

  获取scrapyd服务端项目列表

  get请求,传参无

Get http://120.xx.xxx.xxx:6800/listprojects.json

#Res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "projects": [
        "ebs_crawler"
    ]
}

 

 3.listspiders.json接口

  获取scrapyd服务端spider列表,根据指定的项目

  get请求,传参project 必选,_version可选

get http://120.xx.xxx.xxx:6800/listspiders.json?project=ebs_crawler

#res 默认获取最新的版本信息
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "spiders": [
        "bomman",
        "bommanjson"
    ]
}

 

4.listversions.json接口

  获取某些项目可用的版本列表。版本按顺序返回,最后一个是当前使用的版本

  get请求,传参project必选

get http://120.xx.xxx.xxx:6800/listversions.json?project=ebs_crawler

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "versions": [
        "0_3",
        "0_4"
    ]
}

 

 5.listjobs.json 任务列表接口

  获取某个项目的待处理、正在运行和已完成作业的列表。

  Get请求,入参project 可选

get http://120.xx.xxx.xxx:6800/listjobs.json?project=ebs_crawler

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "pending": [],
    "running": [],
    "finished": [
        {
            "project": "ebs_crawler",
            "spider": "bomman",
            "id": "249585bb034411ed967300163e12aec2",
            "start_time": "2022-07-14 15:11:14.682556",
            "end_time": "2022-07-14 15:11:15.069107"
        },
        {
            "project": "ebs_crawler",
            "spider": "bommanjson",
            "id": "84520364034411edbde900163e12aec2",
            "start_time": "2022-07-14 15:13:54.682628",
            "end_time": "2022-07-14 15:13:55.066653"
        }
    ]
}

 

6.delversion.json 删除指定版本

  删除项目版本。如果给定项目没有更多可用版本,则该项目也将被删除。

  post请求,入参project 必需, version必需

post http://120.xx.xxx.xxx:6800/delversion.json

#form-data类型
var data = new FormData();
data.append('project', 'ebs_crawler');
data.append('version', '0_3')

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok"
}

 

7.cancel.json 取消接口

  取消蜘蛛运行(又名作业)。如果作业处于待处理状态,它将被删除。如果作业正在运行,它将被终止。这是接口是针对jog任务的

  post请求,入参project 必需,job 必需

post http://120.xx.xxx.xxx:6800/cancel.json

#form-data类型
var data = new FormData();
data.append('project', 'ebs_crawler');
data.append('job', 'e0c9ab0c034511ed923f00163e12aec2');

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "prevstate": null
}

 

8.schedule.json 调度接口

  安排蜘蛛运行(也称为作业),返回作业 ID。

  post请求,入参:

project(string, required) - 项目名称
spider(string, required) - 蜘蛛名称
setting(字符串,可选)- 运行蜘蛛时使用的 Scrapy 设置
jobid(字符串,可选)- 用于标识作业的作业 ID,覆盖默认生成的 UUID
priority(float, optional) - 此项目的蜘蛛队列的优先级 - 默认为 0
_version(字符串,可选) - 要使用的项目版本
post http://120.xx.xxx.xxx:6800/schedule.json

#form-data类型
var data = new FormData();
data.append('project', 'ebs_crawler');
data.append('spider', 'bommanjson');

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok",
    "jobid": "e0c9ab0c034511ed923f00163e12aec2"
}

 

9.delproject.json 删除项目接口

  删除项目及其所有上传的版本。

    post提交,入参project 必需

post http://120.xx.xxx.xxx:6800/delproject.json

#form-data
var data = new FormData();
data.append('project', 'ebs_crawler');

#res
{
    "node_name": "iZwz927xptl8kw8zqrmwvcZ",
    "status": "ok"
}

 

10.addversion-json  上传接口

  将版本添加到项目,如果项目不存在则创建项目。

  post 提交,入参project 必需,version必需,egg 必需是一个文件类型

  可以使用postman, 也可以使用scrapyd-deploy命令提交,见:https://www.cnblogs.com/MrHSR/p/16476513.html

  

posted on 2022-07-26 15:16  花阴偷移  阅读(354)  评论(0编辑  收藏  举报

导航