Steamにて、サブスクライブ中のアイテムをリスト化したい
ワークショップをリスト(JSONとか)として保存しておきたい!!!1!!
と思ったのでJavaScript(てかjQuery)をごりごりっと書いた。
ブックマークレットとして置いておきますので、ご自由にお使いください。
javascript:var a=[],b="txt\turl\n";jQuery('div[id^="Subscription"]').map(function(){var t={},i=jQuery(this).find(".workshopItemSubscriptionDetails"),n=i.find(".workshopItemTitle").text(),r=i.find("a").attr("href");t.txt=n,t.url=r,a.push(t),b+=n+"\t"+r+"\n"});var g=JSON.stringify(a,null,2),h=window.confirm("OK:JSONで出力する\nキャンセル:TSVで出力する"),i=function(){return h?g:b}(),win=window.open();win.document.write('<title>List</title><textarea style="width:640px;height:480px;">'+i);
使い方
上のブックマークレットと登録します。
保存したいワークショップの一覧を開きます(1ページあたり30件が良いかと)。
ブックマークレットをクリックします。
「OK」でJSONが、「キャンセル」でTSVが吐き出されます。煮るなり焼くなりしてください。
もし次ページあるなら、そのページ開いてもう一度行ってください。
JSONって?
ぐぐれ。色々便利なヤツ。
吐き出されたモノを元に何かコードを書きたいヤツだけ選べ。
TSVって?
ぐぐれ。エクセルに貼り付けたいヤツはTSVを選べ。
ついでに
minifyする前のコード貼っておきます。
効率とか綺麗さとか除外ししてます(aryとtsv同時に作るのはどうかと思うゾ)。
var ary = [];
var tsv = 'txt\turl\n';
jQuery('div[id^="Subscription"]').map(function() {
var obj = {};
var trg = jQuery(this).find('.workshopItemSubscriptionDetails');
var txt = trg.find('.workshopItemTitle').text();
var url = trg.find('a').attr('href');
obj.txt = txt;
obj.url = url;
ary.push(obj);
tsv += txt + '\t' + url + '\n';
});
var jsn = JSON.stringify(ary, null, 2);
var res = window.confirm('OK:JSONで出力する\nキャンセル:TSVで出力する');
var wrt = (function(){
if (res) return jsn;
return tsv;
})();
var win = window.open();
win.document.write('<title>List</title><textarea style="margin:0;width:640px;height:480px;">'+wrt);
〆
結局ページ送りは必要なのでダルい。
ディスカッション
コメント一覧
まだ、コメントがありません