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
点击
982