質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

受付中

【GAS】スクレイピング ログイン(楽天カード)

anakama
anakama

総合スコア15

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

1回答

0グッド

2クリップ

843閲覧

投稿2019/06/16 17:44

前提・実現したいこと

楽天カードの明細(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/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

このページではbot対策としてページを再読込するたびに変わるワンタイムパスワードがあります。
それも入力しないといけません。

投稿2019/08/01 05:41

退会済みユーザー

退会済みユーザー

総合スコア0

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。