前提
GASで職場の就業管理システムをスクレイピングし、
システムに入力されている出勤時間/退勤時間を
スプレッドシートに転記するスクリプトを作成したいと思っています。
※スクレイピングの許可は得ています
Google Chromeのデベロッパーツールで就業管理システムの
ログイン処理を検証した結果、PayloadのForm Dataには以下3項目が格納されます。
- userName: "ログイン画面で入力した名前"
- password: "ログイン画面で入力したパスワード"
- _csrf: "ログインごとに異なる文字列(ランダムに生成されていると思われます)"
ログイン時に「_csrf」のようなランダムな文字列が生成されるシステムでは、
「UrlFetchApp.fetch」の「post options」をどのように指定すればよいでしょうか。
このようなシステムのスクレイピングは難しい、という内容でもかまいませんので
ご回答いただけますと助かります。
現状、下記のソースコードで「UrlFetchApp.fetch」の部分でエラーが発生しております。
実現したいこと
「UrlFetchApp.fetch」を動作するようにする
発生している問題・エラーメッセージ
Exception: DNS error: "職場の就業管理システムのログイン画面のURL" main @ コード.gs:18
該当のソースコード
GAS
1function main() { 2 //ログイン処理 3 const Login_url = "職場の就業管理システムのログイン画面のURL"; 4 5 let login_payload = { 6 "userName":"ログイン画面で入力する名前", 7 "password":"ログイン画面で入力するパスワード", 8 // 「_csrf」に対する処理がわからない 9 } 10 11 let post_options = { 12 method: "post", 13 payload: login_payload, 14 followRedirects: false 15 }; 16 var response = UrlFetchApp.fetch(Login_url, post_options); 17 Logger.log(response); 18}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/18 03:44
2022/11/18 04:47
2022/11/18 05:47