実現したいこと
Google Apps Script を使用してCSRFトークンが使用されているページ(大学のポータルサイト)にログインした後、特定のデータをスクレイピングすることに試みています。
PythonでSeleniumを利用したスクレイピングでは問題なく動きます。ただ、PCを起動していなくても自動的に実行してほしいため、GASを使用しています。
該当のソースコード
function gas_login(){ let login_url = "ログインするページのURL" // ログインするページのHTMLを取得 let html = UrlFetchApp.fetch(login_url) // HTMLからCSRFトークンを取得 let token = Parser.data(html.getContentText()).from('value=').to('/>').build() //レスポンスのヘッダーからcookieを取得 let cookies = html.getHeaders()["Set-Cookie"] let headers = { Cookie: cookies } // ログイン情報(PayLoadデータ) let payload_data = { "_csrf": token, "username": "*****", "password": "*****" } //POSTデータ(POSTオプション) let post_option = { "method": "POST", "headers": headers, "payload": payload_data, "followRedirects": false, "muteHttpExceptions" : true } let response = UrlFetchApp.fetch(login_url, post_option) Logger.log(response)
実行結果
{"timestamp":"2022-11-09T09:28:15.128+0000","status":403,"error":"Forbidden","message":"Forbidden","path":"/login"}
試したこと
私と同じようなことを試している以下のサイトなどをいろいろ調べてみましたが、成功例が見つからないため、もし知っている方がいれば教えていただきたいです。

あなたの回答
tips
プレビュー