1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaScriptで要ログインサイトのデータ収集サービスを作ってみる(part4)

Posted at

全くのJavaScript初心者から学習してきた流れとか、方法とか色々書きます。

作りたい物

ログインが必要なサイトからデータを集めるサービス。

要は、某アーケード音ゲーのスコアツールを作ってみたいということです。
(他スコアツールを参考にしながら作っています。)

やること

  • ログイン状態で、任意のJavaScriptを実行→part1でやりました
  • JavaScriptで欲しいデータのあるHTMLの収集・スコアの抽出→part2part3
  • 抽出したスコアを何かしらの形式で出力しDL→今回

DLの実装

調べてみたらこんな記事があったので、ここを参考にしました。
ただ、今回はGoogleChromeのみ対応する予定なのでChromeのみ書きました。

非同期処理(スコア取得処理)をDL前に行うのでDeferredを含めた関数にしています。

data_DL.js
// ファイルダウンロード処理
var handleDownload =function(scoreStr){
	var dfr = $.Deferred();
	var a = document.createElement('a');
	a.download = 'scoreList.csv';
	a.target   = '_blank';

    var bom = new Uint8Array([0xEF, 0xBB, 0xBF]);
    var blob = new Blob([ bom, scoreStr ], { "type" : "text/csv" });

	a.href = window.URL.createObjectURL(blob);
 	a.click();
    dfr.resolve();
    return dfr;
 }

参考サイトと少し違うところはwindow.webkitURL.createObjectURLではなく、window.URL.createObjectURLを使っています。
最初はwindow.webkitURL.createObjectURL使ってたんですが、Chromeちゃんに非推奨だよと怒られたので...

あとCSVにする際にExcelで読める様にするために var bom = new Uint8Array([0xEF, 0xBB, 0xBF]); とか入れてますが、なんかうまくいきません。
もちょっと頑張ってみます。

次回もあったらよろしくお願いします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?