へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)! #vZkt8fc6J

ブラウザのJavaScriptコンソール(DevTools)で扱っている値をファイル出力する

まぁ要はスクレイピングに使うんだけど、スクレイピング以外にも応用できたり、ログインしなきゃいけない場合めんどくさいのでこれだと便利。

応用するとコンソール間で別PCと通信できそう(意味ないけど)

↓文字列の配列を与えるとファイルが作られてダウンロードがはじまるやつ

const createFile = (rows) => {
  let csvContent = "data:text/csv;charset=utf-8,"
  rows.forEach(row => {
    csvContent += row + "\r\n"
  })

  const encodedUri = encodeURI(csvContent)

  let link = document.createElement("a")
  link.setAttribute("href", encodedUri);
  link.setAttribute("download", "my_data.txt")
  document.body.appendChild(link)

  link.click()
}

ちょっとした作業のときに役立つ

data = []
document.querySelectorAll('table#table01 td:nth-child(2) a').forEach(el => data.push(el.innerHTML))
createFile(data)

f:id:haruharu1:20180105150425p:plain

↓このサイトで実際に動かせる(2018/01/05現在)

世界の名目GDP(USドル)ランキング - 世界経済のネタ帳

f:id:haruharu1:20180105150607p:plain

f:id:haruharu1:20180105151627p:plain

text/csvになってるので、気になる人は好きなマイムタイプにかえてちょんまげ🍰