5
新手入门 功能点介绍

【智能模式】【流程图模式】如何使用API接口

2026-07-10 17:57:26
浏览 44291 次

摘要:本篇教程主要介绍了后羿采集器中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采集任务的筛选设置,为空数组表示不传递参数

更新方式:

该接口采用“顶层合并”的方式更新规则,不要求每次都传完整规则。

含义是:

  • 只传入需要修改的字段即可
  • 未传入的字段会保留任务原有值
  • 适合只更新 urlssettingsschedulegraph 等局部内容

例如只更新 urls

{
  "urls": [
    "https://www.example.com"
  ]
}

例如只更新 settings:

{
  "settings": {
    "delay_request": 1500,
    "load_images": true
  }
}

校验规则:

保存前会校验最终规则是否有效,要求:

  • name 不能为空
  • urls 必须是非空数组

这意味着:

  • 可以不在本次请求里传 name
  • 但如果合并后的最终规则里 name 为空,接口仍会报错
  • 如果把 urls 设置为空数组,也会报错

返回示例:

{
  "code": 0,
  "msg": ""
}
分享到:
数据自动整理成excel 批量下载图片 python爬虫 网页下载成word 批量生成网址 正则匹配邮箱 网页内容关键字提取 php爬虫 批量下载视频 python数据采集
关闭