octoparse API使わされた
■octoparseとは
誰でもスクレイピングできるようにするサービス
https://www.octoparse.jp/
WinAPPはあるがMacAPPはない。
どちらかといえば非エンジニアが使うのを目的とされている。
たくさんのIPを抱えて怒られないようにIPを変えながらクロールしている。
アメリカっぽい金で規制を突破しているサービス。
Webモラルの話はしてはいけない。
・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
タスクの出力結果を日付やデータ項目の一致ので絞り込んだりすることはできない。