beatmaniaIIDX24のスコアを一覧化するブックマークレット

公式サイトは明日(2018-07-01)までの運用だそうですが......

使い方

  1. 以下のスクリプトをブックマークのURL部分にコピー&ペーストします
  2. 公式サイトにログインします
  3. さきほどのブックマークを開くと、もう一つタブまたはウィンドウが表示され、順にシリーズを遡っていきます
  4. 最後のページまでたどり着いたら、後から表示されたタブまたはウィンドウがTSV書式のテキストになっています。

ブックマークレットスクリプト

javascript:(function(W,N,D,L,M,R,S,T,V,VL,fR,fX,fH,fT,fD,fP,fQ,fL,fO,fI){W=null;N=null;D=[];L=['NO-PLAY','FAILED','A-CLEAR','E-CLEAR','CLEAR','H-CLEAR','EXH-CLEAR','F-COMBO'];M={0:'SPN',1:'SPH',2:'SPA',3:'DPN',4:'DPH',5:'DPA'};R=/\/[A-Fc-][0-9A-Fcfgl-]*\.gif$/;S='https://p.eagate.573.jp/game/2dx/24/p/djdata/music/series.html';T=2000;V=24;VL=0;fR=function(l){W.location.href=l;console.log(l.split('/music/')[1]);};fX=function(a,b){a=[];b=W.$('a').filter(function(){return($(this).text()=='NEXT>');});$(b).each(function(i,o){a.push(S+'?'+$(o).attr('href').split('?')[1]);});return(a);};fH=function(a,b){a=[];b=W.$('a.music_info');$(b).each(function(i,o){a.push($(o).attr('href'));});return(a);};fT=function(o,m){if($('img',o).length>0){m=$('img',o).attr('src').match(R);return(m!=null&&m.length>0?m[0].replace(/(\/|\.gif|clflg)/g,''):'');}else{return($(o).text());}};fD=function(){W.$('body').empty();W.$('body').append('<p>title\tgenre\tartist\tTYPE\tCLEARTYPE\tDJLEVEL\tEXSCORE\tMISSCOUNT</p>');$(D).each(function(i,o,s){s=o.t+'\t'+o.g+'\t'+o.a;$(o.d).each(function(j,p,t){t='\t'+p.s+'\t'+p.c+'\t'+p.d+'\t'+p.e+'\t'+p.m;W.$('body').append('<p>'+s+t+'</p>');});});};fP=function(p,a,b,c,d,e,f){a={};b=$('.music_info_td',p).text().split(/ {9,}/);a.t=b[1];a.g=b[2];a.a=b[3];c=$('.status_type1>tbody>tr>td',p);d=[];for(e=0;e<6;e++){f={};f.s=M[e];f.c=L[fT(c[e*9+2])];f.d=fT(c[e*9+4]);f.e=fT(c[e*9+6]);f.m=fT(c[e*9+8]);d.push(f);}a.d=d;return(a);};fQ=function(l,i,a){if(i<0||i>=l.length){return;}$.ajax({url:l[i],dataType:'html',}).done(function(dt){D.push(fP(dt));i++;if(i<l.length){fQ(l,i);}else{a=fX(W);if(a.length>0){fR(a[0]);setTimeout(fL,T);}else{fO();}}}).fail(function(j,t,e){console.log('fQ()a.f(j='+j+',t='+t+',e='+e);});};fL=function(wd,a,b){if(wd<1){console.log('watch-dog abort.');fD();return;}try{a=fH();fQ(a,0);}catch(b){console.log('watch-dog('+wd+'):'+e);setTimeout(fL,T,wd-1);}};fO=function(v,h){v=(--V);if (V<VL){console.log('V-END.');fD();return;}h=S+'?list='+v+'&play_style=0&rival=&s=1&page=1';fR(h);setTimeout(fL,T,3);};fI=function(){N='L'+Math.floor(Math.random()*100000+99999);W=window.open(S,N);setTimeout(fO,T,V);};fI();}())

動作確認

Windows向けWebブラウザでは、「Google Chrome」で動作確認しています。
無保証です。

詳しい手順などは

以下のエントリーを参考にしてみてください

lmtak.hateblo.jp

戯言

プレミアムコースのCSVダウンロードサービスってどうなんだろう