質問: お世話になります。 google apps script でスクレイピングした情報をシートに出力するプログラムを開発しています。 その中で、ログインした後の情報をどのように取得すれば良いかわかりません。 現在、fetch関数で表面上のhtmlのソースコードを取得して、スクレイピングしています。 レベルアップとして、ログイン後や操作が必要な場合のスクレイピングを、google apps script での実現したいと考えていますが、参考になる記事がなく質問させて頂きました。 動的なスクレイピングは、google apps script では不可能でしょうか?
回答: **ログインが必要なサイトのスクレイピングも可能です。** こちら)を参照していただければわかると思いますが、 ``` UrlFetchApp.fetch(url, params); ``` という構文で細かくオプションを設定できます。 例えば、 ``` // HTTPリクエストのパラメータをobjectで設定 // POSTで渡すフォームデータはpayloadで指定 var options = { method : "post", followRedirects: false, payload : { userId: userid, password: password } }; // ログイン var response = UrlFetchApp.fetch(LOGIN_URL, options); ``` こんな感じです。 パスワードのような機密情報は通常、POSTで受け渡しが行われます。(GETとPOSTの違いについてはこちらがわかりやすいかと思います)ですので、POSTで設定してあげるようにしましょう。 > > 参考になる記事がなく質問させて頂きました。 > > > 調べてみると知らない言葉がたくさん出てくると思いますが、一つひとつ調べることも力になりますので頑張ってください!