前提・実現したいこと
楽天カードの明細(csv)を、GASでスクレイピングしてダウンロードしたいのですが、
ダウンロード以前にログインすら出来ていないようで、スクレイピングした結果、ログインページのHTMLコードが表示されます。
(明細のcsvファイルを、とりあえずスプレッドシートに流し込むことを想定しています。)
原因や問題個所など、ご教示頂けますと幸いです。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
function get_CSV() { // ログインページ var LOGIN_URL = "https://www.rakuten-card.co.jp/e-navi/index.xhtml"; // CSVファイルダウンロード先(UTF-8) var CSV_DOWNLOAD_URL = "***"; // ログインID var id = "〇〇〇"; // パスワード var password = "■■■"; // HTTPリクエストのパラメータをobjectで設定 // POSTで渡すフォームデータはpayloadで指定 var options = { method : "post", followRedirects: false, // リダイレクト無し contentType: "application/x-www-form-urlencoded", payload : { u: id, p: password } }; // ログイン var response = UrlFetchApp.fetch(LOGIN_URL, options); var cookies = response.getHeaders()["Set-Cookie"]; // 取得したcookieをリクエストヘッダーに入れ、ログイン状態保持 var headers = { 'Cookie' : cookies }; options = { method : "get", headers : headers, followRedirects: true, //リダイレクトあり }; // CSVファイル取得 response = UrlFetchApp.fetch(CSV_DOWNLOAD_URL, options); var data = response.getContentText("UTF-8"); // スプレッドシートへの書き込み var spreadsheetObj = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheetObj.getSheetByName("csv"); var csv = Utilities.parseCsv(data); sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv); }
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。