Created
February 21, 2022 13:02
-
-
Save mironal/632a0de1379c3fd4410f396d690d6ce3 to your computer and use it in GitHub Desktop.
くらし TEPCO の指定した日付の範囲の30分毎データの csv をダウンロードするやつ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
1. startDay, endDay を編集する | |
2. ログインする: https://www.kurashi.tepco.co.jp/pf/ja/pc/mypage/learn/comparison.page | |
3. 2 のページで Chrome DevTools を開いてコードをコピペして実行する | |
概念: ダウンロード用の a タグを作ってマウスクリックを発火させてダウンロードしている. | |
*/ | |
// includes start, end day | |
function getDays(start, end) { | |
const days = [] | |
let current = new Date(start.getTime()) | |
while(current <= end) { | |
days.push(new Date(current.getTime())) | |
current.setDate(current.getDate() + 1) | |
} | |
return days | |
} | |
function downloadCsv(day) { | |
const a = document.createElement("a") | |
a.href = `https://www.kurashi.tepco.co.jp/pf/ja/pc/mypage/learn/comparison.page?ReqID=CsvDL&year=${day.getFullYear()}&month=${day.getMonth() + 1}&day=${day.getDate()}` | |
const ev = document.createEvent("MouseEvents") | |
ev.initMouseEvent("click", true, false, window, 0,0,0,0,0, false, false, false, 0, null) | |
a.dispatchEvent(ev) | |
} | |
// ダウンロードしたいデータの開始日(この日のデータもダウンロードされます) | |
// 例: 2020/1/1 | |
const startDay = new Date(2020, 0, 1) // 月は 0始まり | |
// ダウンロードしたいデータの終了日(この日のデータもダウンロードされます) | |
const endDay = new Date(2022, 1,20) | |
const days = getDays(startDay, endDay) | |
console.log("Start download from", startDay.toLocaleString(), "to", endDay.toLocaleString()) | |
console.log(days.length, "days") | |
for (const day of days) { | |
await new Promise(r => setTimeout(r, 5000)) // 思いやりの 5000msec | |
console.log("download for", day.toLocaleString()) | |
downloadCsv(day) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment