【智能模式】【流程图模式】如何使用API接口
摘要:本篇教程主要介绍了后羿采集器中API接口的使用方法。 免费下载软件
通过使用后羿采集器的API接口功能,您可以通过发送HTTP请求来控制采集任务。
可以支持的功能包括:获取任务列表、获取任务状态、启动任务、停止任务、删除任务、复制任务和清空任务数据。
API接口在软件的设置中心启动,如下图所示:

后羿采集器默认监听端口为80,您可以在设置中进行更改。API服务器绑定运行后羿采集器的终端的所有IP。
例如:假设您的终端的IP是10.0.0.1,端口是80,那么RESTful API的基本URL是http://10.0.0.1:80/。
后羿采集器的API接口支持get和post两种请求方式,具体方式如下:
(1)加载所有采集任务
接口路径:
/rest/v1/task/load
参数:
无
返回示例:
{
"code": 0,
"msg": "加载采集任务成功"
}
【温馨提示】如果采集任务超过10个,建议先调用Load接口,再调用其他接口。
(2)获取采集任务列表
接口路径:
/rest/v1/task/list
参数:
无
返回示例:
{
"code": 0, // 接口返回的状态码(0表示请求成功,-1表示请求失败)
"msg": "请求列表成功", // 接口返回的成功或失败信息
"list": [
{
"name": "采集任务名称", // 采集任务的名称
"time_create": 1556000668, // 创建采集任务的时间戳
"task_id": "5122057", // 采集任务的id
"type": "smart" // smart表示智能模式,flowchart表示流程图模式
}
]
}
(3)获取采集任务状态
接口路径:
/rest/v1/task/<采集任务id>/status
参数:
无
返回示例:
{
"code": 0,
"msg": "获取采集任务状态成功",
"status": "SLEEPING",
"status_change_time": "1644492503" // 采集任务最近一次停止或休息的时间戳
}
(4)删除采集任务
接口路径:
/rest/v1/task/<采集任务id>/delete
参数:
无
返回示例:
{
"code": 0,
"msg": "删除采集任务成功"
}
(5)启动采集任务
接口路径:
/rest/v1/task/<采集任务id>/start
参数:
无
返回示例:
{
"code": 0,
"msg": "采集任务启动成功"
}
(6)停止采集任务
接口路径:
/rest/v1/task/<采集任务id>/stop
参数:
无
返回示例:
{
"code": 0,
"msg": "采集任务停止成功"
}
(7)复制采集任务
接口路径:
/rest/v1/task/<采集任务id>/copy
参数:
| 参数 | 参数说明 |
| name | 复制后的采集任务名称,默认原文件名+ “-copy”,可选 |
| translate_chart | 复制的采集任务是否转为流程图模式,默认false,可选 |
返回示例:
{
"code": 0,
"msg": "采集任务复制成功"
}
(8)清空采集任务数据
接口路径:
/rest/v1/task/<采集任务id>/data/clear
参数:
无
返回示例:
{
"code": 0,
"msg": "清空采集任务数据成功"
}
(9)获取采集任务详细信息
接口路径:
/rest/v1/task/<采集任务id>/rule/get
参数:
无
返回示例:
{
"code": 0,
"msg": "获取采集任务状态成功",
"rule": {
"version": "1",
"name": "test(API)",
"type": "chart",
"partition": "app_pc_32776244",
"urls": [],
"param_list": [],
"cookies": "",
"fields": [],
"publish_auto": {
"auto": false,
"adapter_name": ""
},
"settings": {
"path_image": "",
"download_image": false,
"scroll_one_by_one": false,
"scroll_one_min": 0,
"publish_automatic": false,
"saved_config_name": "",
"duplicate": "skip",
"load_images": true,
"load_ads": true,
"delay_request": 1000,
"default_encoding": "ISO-8859-1",
"history_push_state": true,
"remind_mail": {
"due2captcha": false,
"due2login": false,
"mail_receivers": ""
},
"switch": {
"cookie": {
"on_off": false,
"trigger": "time",
"trigger_value": 0
},
"user_agent": {
"on_off": false,
"trigger": "time",
"trigger_value": 0
},
"proxy": {
"on_off": false,
"trigger": "time",
"trigger_value": 0
}
}
},
"schedule": {
"date_between": "2026-7-9 - 2026-7-9",
"date_between_which": "1",
"frequency": "none",
"once_date_start": "2026-7-9",
"once_date_start_which": "1",
"time_end": "19:45",
"time_end_which": "1",
"time_start": "19:45",
"time_start_which": "1"
},
"graph": {
"engine_type": [
"PC"
],
"ops": [
{
"type": "begin"
},
{
"type": "end"
}
],
"tiers": [
{
"tier_type": [
"list",
"list-auto"
],
"pager": {
"type": [
[
"button",
"button-auto"
]
],
"selector": "",
"max": -1
},
"ops": [
{
"type": "begin"
},
{
"type": "end"
}
]
}
]
}
}
}
(10)创建采集任务
接口路径:
/rest/v1/task/create
参数示例:
{
"version": "1",
"name": "New Task",
"partition": "app_pc_33667389",
"urls": [
"https://www.baidu.com"
],
"param_list": [],
"cookies": "",
"fields": [],
"publish_auto": {},
"settings": {},
"schedule": {},
"graph": {},
"filters": {}
}
| 参数 | 参数说明 |
| name | 采集任务名称,必填,且不能为空 |
| urls | 采集任务网址,必填,且必须是非空数组 |
| param_list | 任务执行时传递的参数列表,用于传递查询参数、登录凭证等。为空数组表示不传递参数 |
| cookies | 存储在浏览器中的Cookie信息,用于模拟登录状态或保持会话。为空数组表示不传递参数 |
| fields | 用于指定在任务执行过程中需要提取的字段内容,例如网页中的标题、文本、链接等 |
| publish_auto | 设置任务是否自动发布。可根据需求自定义,为空数组表示不传递参数 |
| settings | 任务的配置设置,为空数组表示不传递参数 |
| schedule | 采集任务的启动时间,可以设置定时,为空数组表示不传递参数 |
| graph | 采集任务的图片下载,可根据需求自定义,为空数组表示不传递参数 |
| filters | 采集任务的筛选设置,为空数组表示不传递参数 |
返回示例:
{
"code": 0,
"msg": "",
"task_id": 33667389
}
(11)修改采集任务
接口路径:
/rest/v1/task/<采集任务id>/rule/set
参数示例:
{
"version": "1",
"name": "New Task",
"partition": "app_pc_33667389",
"urls": [
"https://www.baidu.com"
],
"param_list": [],
"cookies": "",
"fields": [],
"publish_auto": {},
"settings": {},
"schedule": {},
"graph": {},
"filters": {}
}
| 参数 | 参数说明 |
| name | 采集任务名称,必填,且不能为空 |
| urls | 采集任务网址,必填,且必须是非空数组 |
| param_list | 任务执行时传递的参数列表,用于传递查询参数、登录凭证等。为空数组表示不传递参数 |
| cookies | 存储在浏览器中的Cookie信息,用于模拟登录状态或保持会话。为空数组表示不传递参数 |
| fields | 用于指定在任务执行过程中需要提取的字段内容,例如网页中的标题、文本、链接等 |
| publish_auto | 设置任务是否自动发布。可根据需求自定义,为空数组表示不传递参数 |
| settings | 任务的配置设置,为空数组表示不传递参数 |
| schedule | 采集任务的启动时间,可以设置定时,为空数组表示不传递参数 |
| graph | 采集任务的图片下载,可根据需求自定义,为空数组表示不传递参数 |
| filters | 采集任务的筛选设置,为空数组表示不传递参数 |
更新方式:
该接口采用“顶层合并”的方式更新规则,不要求每次都传完整规则。
含义是:
- 只传入需要修改的字段即可
- 未传入的字段会保留任务原有值
- 适合只更新
urls、settings、schedule、graph等局部内容
例如只更新 urls:
{
"urls": [
"https://www.example.com"
]
}
例如只更新 settings:
{
"settings": {
"delay_request": 1500,
"load_images": true
}
}
校验规则:
保存前会校验最终规则是否有效,要求:
name不能为空urls必须是非空数组
这意味着:
- 可以不在本次请求里传
name - 但如果合并后的最终规则里
name为空,接口仍会报错 - 如果把
urls设置为空数组,也会报错
返回示例:
{
"code": 0,
"msg": ""
}