任务管家 (Scheduler)

任务管家是一个免费的 爬虫API 功能,用于通过为其创建时间表来自动化您的重复性抓取和解析作业。

我们建议在使用任务管家的同时使用 上传到云存储器 功能。这样,您可以设置您的时间表,在您的存储中定期接收数据更新,而不需要在从我们的系统中获取结果上做任何努力。

重要事项:任务管家是一款强大的工具,可轻松地增加您的服务账单。我们建议用几个作业项目和有限的重复次数进行测试,以确保您在正确的时间间隔获得正确的数据。在确定了这一点后,您便可停止测试时间表并创建一个新的、扩大规模的时间表。

入门指南

当创建一个新的时间表时,请遵循以下简单步骤。

  1. 告诉我们 我们应该多长时间通过提交一个 cron 时间表表达式来重复一次作业

  2. 向我们提供我们应该在预定时间执行的一堆作业参数集

  3. 通过提交结束时间让我们知道停止时间

参见 此处 查阅提交新时间表的代码示例。

提示:通过访问您要使用的特定 Scraper API 的文件,了解如何形成作业参数集(SERP / 电子商务 / 网络)。

注意:您也可以下载并导入该 Postman 集合来尝试我们所有的任务管家端点。初次使用 Postman?此处了解更多关于这个工具的信息。

端点

任务管家有几个您可以用来控制服务的端点:

创建新的时间表

总览

使用这个端点来启动一个新的时间表。

  • 端点: https://data.oxylabs.io/v1/schedules

  • 方法:POST

  • 身份验证Basic

  • 请求标头Content-Type: application/json

输入

- 必须提供的参数

注意:关于为任务管家有效载荷的items部分相结合作业参数集的指南,请参考您想使用的特定抓取器 的文件页面。

下面的有效载荷将使任务管家在周一的 03:00 运行两个作业计划,直到 end_time(含)。

{
  "cron": "0 3 * * 1",
  "items": [
    {"source": "universal", "url": "https://ip.oxylabs.io"},
    {"source": "google_search", "query": "stuff"}
  ],
  "end_time": "2032-12-21 12:34:45"
}

输出

下面的响应确认了时间表已成功创建。

{
    "schedule_id": 4134906379157007223,
    "active": true,
    "items_count": 3,
    "cron": "* * * * *",
    "end_time": "2032-12-21 12:34:45",
    "next_run_at": "2022-06-06 10:15:00"
}

获取所有时间表

总览

使用这个端点来获取与您的用户账户相关的所有时间表的列表。

  • 端点: https://data.oxylabs.io/v1/schedules

  • 方法:GET

  • 身份验证Basic

输出

该端点返回与提出请求的用户账户相关的所有时间表 ID 的列表。

详见下面的答复样本。

{
    "schedules": [
        1764178033254455101,
        2885262175311057587,
        3251365810325795747,
        4134906379157007223,
        4164931482277157062
    ]
}

获取时间表信息

总览

使用这个端点来获取关于特定时间表的信息。

  • 端点: https://data.oxylabs.io/v1/schedules/{id}

  • 方法:GET

  • 身份验证Basic

输出

下面的有效载荷包含一个时间表信息响应样本。

{
    "schedule_id": 1764178033254455101,
    "active": true,
    "items_count": 3,
    "cron": "* * * * *",
    "end_time": "2032-12-21 12:34:45",
    "next_run_at": "2022-06-06 10:18:00",
    "stats": {
        "total_job_count": 3,
        "job_create_outcomes": [
            {
                "status_code": 202,
                "job_count": 3,
                "ratio": 1
            }
        ],
        "job_result_outcomes": [
            {
                "status": "done",
                "job_count": 2,
                "ratio": 0.67
            },
            {
                "status": "faulted",
                "job_count": 1,
                "ratio": 0.33
            }
        ]
    }
}

注意:当前items(即作为时间表的一部分要执行的作业)在输出中缺失。我们意识到了这一点,并将在短期内添加它们。

停用或重新启用一个时间表

总览

使用这个端点来激活或停用一个特定的时间表。

  • 端点: https://data.oxylabs.io/v1/schedules/{id}/state

  • 方法:PUT

  • 身份验证Basic

输入

使用这个端点来停止或重新启动一个时间表。

通过设置 activefalse,您可以停止执行一个特定时间表。

如果您设置了 activetrue, 则可以重新激活一个以前被停止的时间表。

{
  "active": false
}

输出

null

标准响应是一个具有 202 状态代码的空响应体。

Cron 时间表表达式

此处此处阅读更多信息。

API 响应代码

关于 API 响应代码,请参考 API 参考 -> 响应代码 -> API 响应代码 一节。

Last updated