Scrapyd API 中文翻译版本

简介: Scrapyd API 中文翻译版本

原文地址:https://scrapyd.readthedocs.io/en/stable/api.html


以下是 Scrapyd 提供的 JSON API.

实现了对Scrapy 项目管理


# 服务器查询
daemonstatus.json 服务器状态
# 项目操作
addversion.json   添加项目版本(一个项目下可以有多个版本)
listprojects.json 项目列表
listversions.json 项目版本列表
delproject.json   删除项目
delversion.json   删除项目版本
# 爬虫操作
listspiders.json  项目中爬虫列表
schedule.json     调度运行爬虫
listjobs.json     任务列表
cancel.json       取消爬虫

daemonstatus.json

检查服务器加载状态


请求方式: GET


请求示例:


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

应答示例:


{ 
    "status": "ok", 
    "running": "0", 
    "pending": "0", 
    "finished": "0", 
    "node_name": "node-name" 
}

addversion.json

给项目添加一个版本,如果不存在则创建


请求方式: POST


参数:

project (string, 必须) - 项目名称

version (string, 必须) - 项目版本

egg (file, 必须) - 一个包含项目代码的 Python egg 文件


请求示例:


$ curl http://localhost:6800/addversion.json -F project=myproject -F version=r23 -F egg=@myproject.egg

应答示例:

{
    "status": "ok", 
    "spiders": 3
}

Scrapyd 使用 distutils LooseVersion 去解释你提供的版本号,默认使用最新的项目版本


schedule.json 和 listspiders.json 允许你设置具体的项目版本.


schedule.json

调度运行一个爬虫,返回任务id


请求方式: POST


参数:

project (string, 必须) - 项目名称

spider (string, 必须) - 爬虫名称

setting (string, 可选) - Scrapy爬虫运行的配置

jobid (string, 可选) - 识别任务的id, 重写默认生成的 UUID

_version (string, 可选) - 指定项目使用的版本号

任何其他的参数都将作为爬虫参数


请求示例:


$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider

应答示例:


{
    "status": "ok", 
    "jobid": "6487ec79947edab326d6db28a2d86511e8247444"
}

请求示例 传递一个爬虫参数 (arg1) 和一个爬虫配置参数 (DOWNLOAD_DELAY):


$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1

Scrapyd 调度器接收任意数量关键字参数,并且生成爬虫运行的参数


cancel.json

版本 >= 0.15.

取消爬虫运行, 如果正在等待(pending)就移除,如果正在运行(running)就终止


请求方式: POST

参数:

project (string, 必须) - 项目名称

job (string, 必须) - 任务id

请求示例:


$ curl http://localhost:6800/cancel.json -d project=myproject -d job=6487ec79947edab326d6db28a2d86511e8247444

应答示例:


{
    "status": "ok", 
    "prevstate": "running"
}

listprojects.json

获取Scrapy 服务器所上传的项目列表


请求方式: GET

参数: none


请求示例:


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

应答示例:


{
    "status": "ok", 
    "projects": ["myproject", "otherproject"]
}

listversions.json

获取项目的可用版本号. 按照顺序返回版本号, 最后一个就是当前使用的版本


请求方式: GET

参数:

project (string, 必须) - 项目名称


请求示例:


$ curl http://localhost:6800/listversions.json?project=myproject

应答示例:


{
    "status": "ok", 
    "versions": ["r99", "r156"]
}

listspiders.json

获取项目中爬虫列表


请求方式: GET

参数:

project (string, 必须) - 项目名称

_version (string, 可选) - 指定项目版本


请求示例:


$ curl http://localhost:6800/listspiders.json?project=myprojec

应答示例:


{
    "status": "ok", 
    "spiders": ["spider1", "spider2", "spider3"]
}

listjobs.json

版本 >= 0.15.


获取项目任务列表,包括:等待(pending)运行(running)和完成(finished)


请求方式: GET

参数:

project (string, 必须) - 项目名称

请求示例:


$ curl http://localhost:6800/listjobs.json?project=myproject

应答示例:

{
    "status": "ok",
    "pending": [
        {
            "id": "78391cc0fcaf11e1b0090800272a6d06", 
            "spider": "spider1"
        }
    ],
    "running": [
        {
            "id": "422e608f9f28cef127b3d5ef93fe9399", 
            "spider": "spider2", 
            "start_time": "2012-09-12 10:14:03.594664"
        }
    ],
    "finished": [
        {
            "id": "2f16646cfcaf11e1b0090800272a6d06", 
            "spider": "spider3", 
            "start_time": "2012-09-12 10:14:03.594664", 
            "end_time": "2012-09-12 10:24:03.594664"
        }
    ]
}

所有的任务数据都保存在内存中,Scrapyd服务重启之后被重置 issue 12


delversion.json

删除项目版本,如果一个项目名没有其他可用版本,那么这个项目也会被删除


请求方式: POST

参数:

project (string, 必须) - 项目名称

version (string, 必须) - 项目版本

请求示例:


$ curl http://localhost:6800/delversion.json -d project=myproject -d version=r99

应答示例:


{
    "status": "ok"
}

delproject.json

删除一个项目,包括上传的所有版本


请求方式: POST

参数:

project (string, 必须) - 项目名称

请求示例:


$ curl http://localhost:6800/delproject.json -d project=myproject

应答示例:

{
    "status": "ok"
}

相关文章
|
7月前
|
存储 开发框架 小程序
社区每周丨小程序 CLI 1.8.10 版本上线及基础API新增接口(7.3-7.7)
社区每周丨小程序 CLI 1.8.10 版本上线及基础API新增接口(7.3-7.7)
87 11
|
7月前
|
敏捷开发 JavaScript 前端开发
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
|
2月前
|
存储 安全 Java
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
本文介绍了JDK 21中引入的外部函数和内存API(MemorySegment),这些API使得Java程序能够更安全、高效地与JVM外部的代码和数据进行互操作,包括调用外部函数、访问外部内存,以及使用不同的Arena竞技场来分配和管理MemorySegment。
60 1
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
|
2月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
61 0
|
4月前
|
API 数据库 索引
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第二部分part2
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第二部分part2
|
4月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之海外是否可以访问人物动漫化的api版本
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
55 0
|
4月前
|
Oracle Java 关系型数据库
JDK版本特性问题之在 JDK 11 中,HTTP Client API 的特点有哪些
JDK版本特性问题之在 JDK 11 中,HTTP Client API 的特点有哪些
|
4月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
5月前
|
Java API PHP
【亲测有效,官方提供】php版本企查查api接口请求示例代码,php请求企查查api接口,thinkphp请求企查查api接口
【亲测有效,官方提供】php版本企查查api接口请求示例代码,php请求企查查api接口,thinkphp请求企查查api接口
159 1
|
5月前
|
人工智能 自然语言处理 数据挖掘
详解:Google AI Gemini中文版本(基于API 开发实现对话)
谷歌旗下的人工智能应用Gemini,自问世以来凭借其强大的计算能力和高效的处理性能,迅速成为全球用户的宠儿。作为一款由世界顶尖科技公司开发的产品,Gemini不仅在语言处理、图像识别、数据分析等领域表现出色,还在多种复杂任务中展现了其卓越的智能决策能力。然而,由于网络限制等问题,国内用户往往无法直接访问和使用Gemini的网站,这也导致了许多技术爱好者和专业人士未能亲身体验这一先进技术所带来的便利和强大功能。