4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Replit AgentやDifyでWEBスクレイピングツールを無料で使う方法

Last updated at Posted at 2024-11-17

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で使えるようになります!!

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?