入門ガイド 特徴紹介

【スマートモード】【フローチャートモード】RESTful APIの使い方 - ScrapeStorm

2026-07-15 09:33:18
2490 ビュー

摘要:本文では、RESTful APIの使用方法を紹介します。プライミング必要なし、使いやすいです。 ScrapeStorm無料ダウンロード

ScrapeStormのRESTful APIを使用すると、HTTPリクエストを送信してスクレイピングタスクを制御できます。

サポートできる機能には、タスクリストの取得、タスクの起動、タスクの停止、タスクのステータスの取得、タスクの削除などがあります。

以下に示すように、この機能は設定センターで設定できます。

デフォルトのモニターポートは80で、設定で変更できます。 APIサーバーは、ScrapeStormが実行されている端末のすべてのIPをバインドします。

例えば:

マシンのIPは 10.0.0.1、ポートは80の場合、RESTful APIのベースURLは

http://10.0.0.1:80/です。

ScrapeStorm APIは、次のように、getとpostの両方をサポートしています。

1.すべてのタスクをロードする

パス:

GET/rest/v1/task/load

パラメーター:

なし

レスポンス例:

{
   "code": 0,
   "msg": "タスクが正常にロードされました"
}

【注意】タスクが10個を超える場合は、他のインタフェースを呼び出す前にLoadインタフェースを呼び出すことをお勧めします。

2.タスクリストを取得する

パス:

GET /rest/v1/task/list

パラメーター:

なし

レスポンス例:

{
    "code": 0,
    "msg": "リストリクエスト成功",
    "list": [
        {
            "name": "テスト-タスク",
            "time_create": 1555911862,
            "task_id": 5090076,
            "type": "スマート"       //スマート或いはフローチャート
        } 
    ]
}

3.タスクのステータスの取得

パス:

GET /rest/v1/task/<task id>/status

パラメーター:

なし

レスポンス例:

{
    "code": 0,
    "msg": "リストを成功にリクエスト",
    "status": "スリープ",
    "status_change_time": "1644492503" // タスクが最後に停止またはスリープされたときのタイムスタンプ
}

4.タスクの削除

パス:

GET /rest/v1/task/<task id>/delete

パラメーター:

なし

レスポンス例:

{
    "code": 0,
    "msg": "消除成功"
}

5.タスクの起動

パス:

GET /rest/v1/task/<task id>/start

パラメーター:

なし

レスポンス例:

{
    "code": 0,
    "msg": "スタート成功"
}

6.タスクの停止

パス:

GET /rest/v1/task/<task id>/stop

パラメーター:

なし

レスポンス例:

{
    "code": 0,
    "msg": "停止成功"
}

7.タスクのコピー

パス:

GET /rest/v1/task/<task id>/copy

パラメーター:

パラメーター説明
nameコピーされたタスク名はデフォルト“-copy”を加えて操作可能になります。
translate_chartコピーされたタスクはフローチャートモードに切り替えかどうかにかかわらず、
デフォルトは「False」して、操作可能になります。

レスポンス例:

{
    "code": 0,
    "msg": "コピー成功"
}

8.タスクのデータをクリアする

パス:

GET /rest/v1/task/<task id>/data/clear

パラメーター:

なし

レスポンス例:

{
    "code": 0,
    "msg": "データクリア成功"
}

(9)タスク詳細情報の取得

パス:

/rest/v1/task/<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収集対象URL。必須、空でない配列が必要
param_listタスク実行時に渡すパラメータ一覧。検索パラメータやログイン情報などに使用。空配列の場合はパラメータなし
cookiesブラウザに保存されたCookie情報。ログイン状態やセッション維持に使用。空の場合はパラメータなし
fields取得対象フィールドを指定。例:Webページのタイトル、本文、リンクなど
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収集対象URL。必須、空でない配列が必要
param_listタスク実行時に渡すパラメータ一覧。検索パラメータやログイン情報などに使用。空配列の場合はパラメータなし
cookiesブラウザに保存されたCookie情報。ログイン状態やセッション維持に使用。空の場合はパラメータなし
fields取得対象フィールドを指定。例:Webページのタイトル、本文、リンクなど
publish_auto自動公開設定。必要に応じて設定可能。空の場合はパラメータなし
settingsタスク設定。空の場合はパラメータなし
schedule収集タスクの開始時間。スケジュール設定可能。空の場合はパラメータなし
graph収集タスクの画像ダウンロード設定。必要に応じて設定可能。空の場合はパラメータなし
filters収集タスクのフィルター設定。空の場合はパラメータなし

更新方式:

本APIでは 「トップレベルマージ」方式 を採用しています。
毎回すべてのルールを送信する必要はありません。

動作仕様:

  • 変更したいフィールドのみ送信可能
  • 未送信フィールドは既存値を保持
  • 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": ""
}
レギュラーマッチメール pythonスクレイピング ウェブページをwordにダウンロードする 画像の一括ダウンロード ウェブコンテンツのキーワードを抽出 Pythonダウンロードファイル バッチで URL を生成する phpスクレイピング 動画の一括ダウンロード Pythonデータスクレイピング
关闭