SIF2每首歌平均键分数据爬取
由于近期的爬塔活动很需要这个数据,因此就简单做了一下
首先前往萌娘百科的歌曲note数界面运行获取note脚本
然后前往llwiki的模拟界面,模拟很多歌以后运行获取分数脚本
//萌娘百科的歌曲n数 str="data=["; b=""; $(".moe-wide-table-wrapper table").each(function (){ $(this).find("tbody tr").each(function (){ var td=$(this).find("td"); var name=td.eq(2).find("a").html(); if (name.indexOf("'")>0){ name=name.replace("'","\\\'"); } var n=td.eq(12).html(); n=n.substring(0,n.length-1); if (n=="-"){ n=td.eq(10).html(); } str+=b+"['"+name+"','"+n+"']"; b=","; }); }); str+="];"; //分数 str="score=["; b=""; $("#formation-result").children().each(function (){ var name=$(this).find("div").eq(0).html(); var diff=name.substr(-6); if (diff=="MASTER" || diff=="EXPERT"){ name=name.substring(name.indexOf(" ")+1,name.length-7); if (name.indexOf("'")>0){ name=name.replace("'","\\\'"); } var s=$(this).find("span").eq(2).html(); s=s.substring(4,s.length-1); str+=b+"['"+name+"','"+s+"','"+diff+"']"; b=","; } }); str+="];";
然后使用以下页面和js就可以做出来键分,复制到excel里排序即可(懒得在JS里排序了= =)
for (var i=0;i<score.length;i++){ var found=999999; for (var j=0;j<data.length;j++){ var namelen=Math.min(10,score[j][0].length); if (data[j][0].substring(0,namelen)==score[i][0].substring(0,namelen)){ if (found<10000){ found=999999; j=999999; }else{ found=j; } } } if (found<10000){ var tr=$(document.createElement("tr")); tr.html("<td>"+data[found][0]+"</td><td>"+score[i][1]+"</td><td>"+data[found][1]+"</td><td>"+score[i][2]+"</td><td>"+(score[i][1]/data[found][1])+"</td>"); $("#score").append(tr); }else{ var tr=$(document.createElement("tr")); tr.html("<td>"+score[i][0]+"</td><td>"+score[i][1]+"</td>"); $("#error").append(tr); } }
以下是HTML
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>平均键分</title> <meta name='viewport' content='width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no' /> <script src="/lib/js/jquery.js"></script> </head> <body> <p>键分</p> <table id="score"> <tr> <td>歌名</td> <td>分数</td> <td>note</td> <td>难度</td> <td>键分</td> </tr> </table> <p>未找到的数据</p> <table id="error"> <tr> <td>歌名</td> <td>分数</td> </tr> </table> <script src="note.js?<?php echo rand();?>"></script> <script src="score.js?<?php echo rand();?>"></script> <script src="calculate.js?<?php echo rand();?>"></script> </body> </html>
2023
11 19
上一篇
Older
下一篇
Newer
评论
0
点击
395