1. h-nagao

    Posted

    h-nagao
Changes in title
+[TIPS] Power AutomateでHTTPを使わずにHTMLを取得する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,30 @@
+# Power AutomateのHTTPアクションは有償です
+
+残念ながら、Power Automateで私がよくやる、スクレイピングに利用しているHTTPのアクションは有償プラン/コミュニティプランでのみ利用可能です。
+例えば前回の投稿でもHTTPアクションでPrime Videoの作品ページをGETしています。[Amazon Prime Videoの更新通知を Power Automateでつくる](https://qiita.com/h-nagao/items/fdbfcf4a7dae6373a224)
+
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202779/67c40edc-1278-2c21-19e9-c2e3f42c4558.png)
+
+残念ですが、これは仕方ない。何か回避方法はないものか。
+
+## OneDriveのUpload file from URLが使える?
+
+そう、OneDrive/OneDrive for Businessコネクターには、URLを指定してファイルをアップロードするというアクションがあります。
+これはたとえば画像ファイルをWebから取得して保存するような場合に利用しますが、中でやっていることはHTTPのGETなので、プレミアムであるHTTPアクションの代用として、単純なGETに限れば使えるかもしれません。
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202779/3ef14784-deaf-eb99-e9a9-88163e3c86c0.png)
+
+# OneDrive - Upload file from URLでHTMLを取得する
+
+実際に試してみます。
+適当なURLでHTMLをGETしてみます。あとでこの内容を分割したり文字列置換するので、後続処理でGet file content using pathをしてみます。
+
+**どちらも成功!** これで後続処理でHTMLの解析ができます!
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202779/3eb08031-c6c7-41c7-6a9c-1f184ce1535e.png)
+
+使うときは
+```split(body('Get_file_content_using_path'),'xxx')```
+のように 文字列を分割したり、置換したりできます。
+
+# まとめ
+本当ならAPIがあればそれをたたいたり、表示する際にやり取りしているjsonをデータとして利用するのがよいのですが、そうもいかない場合、HTTPでGETして、得られたHTMLを解析というのはよくあるパターンかなと思います。
+そんな時、Power Automateでは、リクエストの内容によっては、OneDrive (for Business) のURLから取得のアクションで代用できるかもしれません。ぜひ試してみてください!