【スマートモード】【フローチャートモード】RESTful APIの使い方 - ScrapeStorm
摘要:本文では、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/<>/rule/gettask id
パラメータ:
なし
レスポンス例:
{
"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": ""
}