EasySpider如何通过API调用来获得任务执行ID

在使用EasySpider进行自动化网页数据抓取时,任务配置常常需要修改一些参数,例如网址列表、循环点击次数、输入值等。

rpa_tutorial_easyspider_case_API_tuning_1

本文将介绍如何通过POSTMAN发送API请求,动态配置这些参数并生成新的任务ID,最终通过命令行执行该任务。

获取新的任务ID

我们可以通过POSTMAN发送POST请求来生成新的任务ID,以下是具体操作步骤。

1. 设置POST请求

  • 调用方法: POST
  • 调用地址: http://localhost:8074/invokeTask
  • Body字段类型: x-www-form-urlencoded

2. 设置参数

在POSTMAN中,进入Body选项卡,选择x-www-form-urlencoded类型,并设置以下键值对:

  • id: 任务的ID号,可以从已有任务的API调用地址中获取。

    rpa_tutorial_easyspider_case_API_tuning_2

  • EID: 已存在的任务执行ID,如果传递此值,将进入覆盖模式,新配置会覆盖原ID对应的任务配置文件。若不传递该参数,则为新增任务。

  • params: 一个包含所有输入参数的键值对对象。此字段传递任务中的输入参数,如打开的网页列表、点击循环次数、输入的文字内容等。

    rpa_tutorial_easyspider_case_API_tuning_3

3. 发送请求

配置完成后,点击POSTMAN中的“发送”按钮。若请求成功,您将会在返回的数据中看到一个新的任务ID,如下所示:

    
json
{
  "execution_ID": 37
}

三、使用命令行执行生成的任务

获得任务ID后,您可以使用命令行执行该任务。假设生成的任务ID为37,可以在命令行中使用以下命令执行任务。

1. 进入EasySpider目录

首先进入EasySpider所在的目录,命令示例如下:

    
bash
cd D:\Documents\Projects\EasySpider

2. 执行任务

然后运行以下命令,通过生成的任务ID来执行任务:

    
bash
./EasySpider/resources/app/chrome_win64/easyspider_executestage.exe --id [37] --user_data 0 --server_address http://localhost:8074 --config_folder "D:/Documents/Projects/EasySpider/ElectronJS/" --headless 0 --read_type remote --config_file_name config.json --saved_file_name 

rpa_tutorial_easyspider_case_API_tuning_4

其中,--id后面的37是通过POSTMAN获取的任务ID,其他参数可以根据具体需求进行调整。

四、JavaScript代码示例

如果想通过JavaScript来调用API生成任务ID,可以参考以下示例代码:

    
javascript
let param = {};
let t = $('#form').serializeArray();
t.forEach(function (item, index) {
    param[item.name] = item.value;
});
let message = {
       id: TASKID, // 任务ID号
       EID: "1",   // 已存在的任务执行ID,若为新增任务可不传
       params: JSON.stringify(param)
};
// 发送POST请求获取任务ID
$.post("http://localhost:8074/invokeTask", message, function (EID) {
   console.log("任务ID为:", EID);
});

此代码中的POST请求会返回一个execution_ID,用于后续命令行执行任务。

五、后台处理逻辑简介

在后台,API处理逻辑会从tasks文件夹中读取任务的默认.json配置文件,将传递的参数替换默认值,并在execution_instances文件夹中生成新的任务文件。随后,程序会根据新的配置文件来执行任务。

通过POSTMAN的API调用方式,我们可以灵活地动态设置EasySpider的任务配置,生成新的任务ID后再通过命令行执行任务。这种方式非常适合需要频繁修改参数的场景,为自动化任务配置和执行提供了极大的便利。

阅读全文
AI工具教程
免费领取AI学习资料 进AI副业交流群
礼物
AI工具教程
免费领取AI学习资料 进AI副业交流群