Skip to content

Instantly share code, notes, and snippets.

@sugumura
Last active June 4, 2020 15:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sugumura/6292645cfa54dbf703f845e22d98c8bc to your computer and use it in GitHub Desktop.
Save sugumura/6292645cfa54dbf703f845e22d98c8bc to your computer and use it in GitHub Desktop.
DMMのポイント利用情報をCSV形式でクリップボードにコピーする

Chromeでポイント利用情報のページを開く

http://payment.dmm.com/point/

ページ下部の「もっと見る」ボタンを繰り返し押してすべての履歴をページ上に表示させる。

ページのどこでもいいので右クリックしてメニューの「検証」をクリックする。

DevToolsというウィンドウが表示される。Consoleタブをクリックする。 image

ページ下部に「もっと見る」のボタンがある場合は、下のコードをコピーしてDevToolsに貼り付けてEnterを押す。ない場合はここはスキップ

すべての履歴が表示するとアラートが表示される。人によっては時間かかると思う

let interval = setInterval(() => {
  $more = $(".box-more");
  if ($more.css("display") == "block") {
    $more.find("a").trigger("click");
  } else {
    alert("すべての履歴を表示しました")
    clearInterval(interval);
  }
}, 1000);

image

すべての履歴がページ上に表示されたら、下のコードをコピーしてDevToolsに貼り付けてEnterを押す。

let arr = [];
$.each($(".box-list tr"), function (a, b) {
  const $tr = $(b);
  const $tds = $tr.find("td");

  if ($tds.length === 0) return;

  const date = $tds.eq(0).text();
  const title = $tds.eq(1).text();
  const total = $tds
    .find(".grand-total")
    .text()
    .trim()
    .replace(/[\,\+pt]+/g, "");
  const point = $tds.eq(3).text().trim().replace(/\s+/g, " ");
  const root = $tds.eq(4).text().trim().replace(/\s+/g, " ");

  arr.push([date, title, total, point, root].join(","));
});
let csv = arr.join("\n");
copy(csv)

image

クリップボードにCSVがコピーされているのでExcelなりスプレッドシートで集計する。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment