cozeで、WEBスクレイピングツールをワークフロー化してそれをAPI化します
動画でも解説
https://www.youtube.com/watch?v=t0kVg025ZZE
ワークフローの設定
https://www.coze.com/
クリック
1)cozeにログイン(googleなどで)
2)Workspaceクリック
3)右上の+Resourcesクリック
=>すぐ下に出る、Workflowクリック
4)Create workflowが表示されるので、
=>Workflow nameとWorkflow descriptionに分かりやすい名前入れる
=>両方入れたら、右下Confirmをクリック
5)ワークフロー編集画面が表示される
6)左上の紫色のPluginをクリック
7)SearchにWEBと入れる=>一覧からwebSpiderをクリック
=>下に画面が開く=>url2jsonのAddボタンをクリック
8)Startとurl2jsonをつなぐ => url2jsonとEndをつなぐ
9)Startの設定 =>入力欄が2行あるので、したの行の右の⊖をクリックして削除
10)url2jsonの設定 =>Prease selectのところをStart=>BOT_USER_INPUTに設定
11)Endの設定 =>Prease selectのところをurl2json=>web_contentに設定
12)ワークフローの設定完了(URLを入れるとそのURLをスクレイピングしてJSONにしてくれる)
13)右上Test runボタンをクリック Prease enter BOT_USER_INPUTに取得したいURLを入れる
14)右下Test runボタンをクリック =>実際に動く
15)ワークフローのTest run完了
16)右上のPublishボタンをクリック=>画面が変わって自分がつけた名前のワークフローに緑のチェックが付くとOK
API化
https://www.coze.com/open/oauth/pats
を開く
1)右上のadd tokenボタンをクリック
2)Add personal access tokenが開くので、
Nameは、Secret tokenのまま
Expiration timeは、30dayあたりを選択(30日後に期限が切れる)
Permissions*は、チェック入れられるところに全部チェック入れる(多分Workflow Runだけでも良い)
その下の、
Select specified team space をチェックして、Personalを選択すると、右下のConfirmボタンが押せるのでクリック
この画面の下の方にでAPIという文字を見たらチェックすること。私の画面に表示されないが、表示されていた気がする。
3)New Personal Access Token画面が表示=>下にTokensがあるので右下のコピーマークをクリックしてコピーする
4)メモ帳などに貼り付けておく
API呼び出し方
https://www.coze.com/docs/developer_guides/workflow_run?_lang=en
1)画面したの方にあるCode samples Request sampleをチェック
以下の
pat_hfwkehfncaf****
"workflow_id": "73664689170551*****",
"user_id":"12345",
"user_name":"George"
をそれぞれ以下に変更
pat_yxkQjIbZyniAUU0zeIDJzOrhUoDxtHkS39Byv0Y0J4Wb7Jf73D3r74DroIHXbg5F <=自分で取得したtoken
"workflow_id": "7438173077177925650", <=作成したワークフローを開いたURLのworkflow_id=の右側の数値
"user_id":"7429341768674296849", <=ワークフロー画面左上の<をクリックして、
左下のマークをクリックしてSettingsをクリックして表示されたAccountの一番下のUID:の右側の数値
"user_name":"George"は以下のように修正(URLは自分がスクレイピングしたいURL)
"BOT_USER_INPUT":"https://www.google.com/"
<サンプル>
curl --location --request POST 'https://api.coze.com/v1/workflow/run' \ --header 'Authorization: Bearer pat_hfwkehfncaf****' \ --header 'Content-Type: application/json' \ --header 'Accept: */*' \ --header 'Host: api.coze.com' \ --header 'Connection: keep-alive' \ --data-raw '{ "workflow_id": "73664689170551*****", "parameters": { "user_id":"12345", "user_name":"George" } }'
<修正後>
curl --location --request POST 'https://api.coze.com/v1/workflow/run' \ --header 'Authorization: Bearer pat_yxkQjIbZyniAUU0zeIDJzOrhUoDxtHkS39Byv0Y0J4Wb7Jf73D3r74DroIHXbg5F' \ --header 'Content-Type: application/json' \ --header 'Accept: */*' \ --header 'Host: api.coze.com' \ --header 'Connection: keep-alive' \ --data-raw '{ "workflow_id": "7438173077177925650", "parameters": { "user_id":"7429341768674296849", "BOT_USER_INPUT":"https://crowdworks.jp/public/jobs/search?category_id=228&order=new&page=1" } }'
このcurlを全部コピーして実行すれば結果が戻ります。
コマンドプロンプト、パワーシェルでは動かない
私は、cursorのGit Bashで動かしました。
このままでは、アプリに組み込めないので、ChatGPTなどに、
一番簡単なpythonにしてと書いて、curlを全部投げればええ感じにpythonにしてくれます
difyやReplit Agentで使えるようになります!!