片岡空の上の空

一旦書き留めるためのページ

octoparse API使わされた

octoparse API使わされた

 

octoparseとは

誰でもスクレイピングできるようにするサービス
https://www.octoparse.jp/

WinAPPはあるがMacAPPはない。

どちらかといえば非エンジニアが使うのを目的とされている。

たくさんのIPを抱えて怒られないようにIPを変えながらクロールしている。

アメリカっぽい金で規制を突破しているサービス。

Webモラルの話はしてはいけない。

 

octoparse APIの説明

dataapi - 通常API - Standard or Professional account

http://dataapi.octoparse.com/help

advancedapi - 高性能API - Professional account

http://advancedapi.octoparse.com/help

今回はadvancedapiについて記載します。

 

■概要

タスクグループというタスクをまとめたものがあり、

タスクのなかに、URLを複数持つことができる

 

■advancedapi API一覧

・Token新規作成

curl -X POST https://advancedapi.octoparse.com/token -d "username={username}&password={password}&grant_type=password"

 

・Token再発行

curl -X POST https://advancedapi.octoparse.com/token -d "refresh_token={refresh_token}&grant_type=refresh_token"

・タスクグループ一覧取得

curl -H "Authorization: bearer {access_token}" https://advancedapi.octoparse.com/api/TaskGroup

・タスク一覧取得

curl -H "Authorization: bearer {access_token}" https://advancedapi.octoparse.com/api/Task?taskGroupId={taskGroupId}

・タスクステータス取得

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -X POST https://advancedapi.octoparse.com/api/task/GetTaskStatusByIdList -d '{"taskIdList": ["{taskid}"]}'

・タスクパラメータ取得

curl -H "Authorization: bearer {access_token}" -d -X POST https://advancedapi.octoparse.com/api/task/GetTaskRulePropertyByName?taskId={taskid}\&name={name(loopAction1.UrlList)}

・タスクパラメータ更新

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -X POST https://advancedapi.octoparse.com/api/task/UpdateTaskRule -d '{"taskId": "{taskid}", "name": "loopAction1.UrlList", "value": ["URL"]}'

・タスクにURL・テキスト追加

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -X POST https://advancedapi.octoparse.com/api/task/AddUrlOrTextToTask -d '{"taskId": "{taskid}", "name": "loopAction1.UrlList", "value": ["URL","URL"]}'

・タスク実行

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -d -X POST https://advancedapi.octoparse.com/api/task/StartTask?taskId={taskid}

・タスク停止

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -d -X POST https://advancedapi.octoparse.com/api/task/StopTask?taskId={taskid}

・データクリア

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -d -X POST https://advancedapi.octoparse.com/api/task/RemoveDataByTaskId?taskId={taskId}

・データ出力

curl -H "Authorization: bearer {access_token}" https://advancedapi.octoparse.com/api/notexportdata/gettop?taskId={taskid}\&size={size}

・データ状態更新

curl -H "Authorization: bearer {access_token}" -H "Content-Type: application/json" -d -X POST https://advancedapi.octoparse.com/api/notexportdata/update?taskId={taskid}

・データ一覧取得

curl -H "Authorization: bearer {access_token}" https://advancedapi.octoparse.com/api/alldata/GetDataOfTaskByOffset?taskId={taskid}\&offset={offset}\&size={size}

 

■注意事項

APIのデータはWINAPP上の「クラウドデータ」と連携している、

毎回更新をしないと、古いデータが表示されているので注意する。

 

■まとめ

公式の資料が情報が結構不親切、

メールのみ公式からの問い合わせは英語で待っててがきて、通訳ソフトで変換した感じの回答がくる。
日本の会社はおそらく営業のみと思われる。
https://twitter.com/OctoparseJapan

タスクの出力結果を日付やデータ項目の一致ので絞り込んだりすることはできない。