Greasy Fork is available in English.

DAM★とも精密採点データ取得

精密採点AiとDX-Gの採点結果の詳細数値データをテキストファイルで取得

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         DAM★とも精密採点データ取得
// @version      1.1
// @description  精密採点AiとDX-Gの採点結果の詳細数値データをテキストファイルで取得
// @author       kamken
// @match        https://www.clubdam.com/app/damtomo/MyPage.do
// @grant        none
// @namespace    https://greasyfork.org/users/719226
// ==/UserScript==
'use strict';
function enc(str){
	str=str.replaceAll('%','%25');
	str=str.replaceAll(' ','%20');
	str=str.replaceAll('!','%21');
	str=str.replaceAll('#','%23');
	str=str.replaceAll('$','%24');
	str=str.replaceAll('&','%26');
	str=str.replaceAll("'",'%27');
	str=str.replaceAll('(','%28');
	str=str.replaceAll(')','%29');
	str=str.replaceAll('*','%2A');
	str=str.replaceAll('+','%2B');
	str=str.replaceAll(',','%2C');
	str=str.replaceAll('/','%2F');
	str=str.replaceAll(':','%3A');
	str=str.replaceAll(';','%3B');
	str=str.replaceAll('=','%3D');
	str=str.replaceAll('?','%3F');
	str=str.replaceAll('@','%40');
	str=str.replaceAll('[','%5B');
	str=str.replaceAll(']','%5D');
	return str;
};
(function(){
	var tgt=document.getElementById('DamHistory');
	tgt.insertAdjacentHTML('beforebegin','<button id=btn_AiDetailSave>Aiりれきデータ取得</button> 現在表示されている履歴の詳細データを保存します。<br>');
	document.getElementById('btn_AiDetailSave').addEventListener('click',function(){
		var hv=document.getElementById('DamHistoryMarkingAiListResult');
		var len=hv.getElementsByClassName('btn_AiDetail').length;
		if(len>0){saveai(hv);};
	});
	tgt.insertAdjacentHTML('beforebegin','<button id=btn_AiSaveDetailSave>Ai保存リストデータ取得</button> 現在表示されている履歴の詳細データを保存します。<br>');
	document.getElementById('btn_AiSaveDetailSave').addEventListener('click',function(){
		var hv=document.getElementById('DamHistoryMarkingAiSaveListResult');
		var len=hv.getElementsByClassName('btn_AiDetail').length;
		if(len>0){saveai(hv);};
	});
	tgt.insertAdjacentHTML('beforebegin','<button id=btn_DxGDetailSave>DX-Gりれきデータ取得</button> 現在表示されている履歴の詳細データを保存します。<br>');
	document.getElementById('btn_DxGDetailSave').addEventListener('click',function(){
		var hv=document.getElementById('DamHistoryMarkingDxGListResult');
		var len=hv.getElementsByClassName('btn_DxGDetail').length;
		if(len>0){savedxg(hv);};
	});
	tgt.insertAdjacentHTML('beforebegin','<button id=btn_DxGSaveDetailSave>DX-G保存リストデータ取得</button> 現在表示されている履歴の詳細データを保存します。<br>');
	document.getElementById('btn_DxGSaveDetailSave').addEventListener('click',function(){
		var hv=document.getElementById('DamHistoryMarkingDxGSaveListResult');
		var len=hv.getElementsByClassName('btn_DxGDetail').length;
		if(len>0){savedxg(hv);};
	});
	tgt.insertAdjacentHTML('beforebegin','<button id=btn_AiComment>Aiコメント一覧取得</button> 精密採点Aiで表示されるコメントの一覧を取得します。<br>');
	document.getElementById('btn_AiComment').addEventListener('click',function(){
		jQuery.ajax({
			type:'GET',
			url:'/damtomo/shared/xml/analysisReportCommentAi.xml',
			dataType:'html',
			success:function(data,textStatus){
				var a=document.createElement('a');
				a.href='data:text,'+enc(data);
				a.download="analysisReportCommentAi.txt";
				a.click();
			}
		});
	});
	tgt.insertAdjacentHTML('beforebegin','<button id=btn_DxGComment>DX-Gコメント一覧取得</button> 精密採点DX-Gで表示されるコメントの一覧を取得します。<br>');
	document.getElementById('btn_DxGComment').addEventListener('click',function(){
		jQuery.ajax({
			type:'GET',
			url:'/damtomo/shared/xml/analysisReportComment.xml',
			dataType:'html',
			success:function(data,textStatus){
				var a=document.createElement('a');
				a.href='data:text,'+enc(data);
				a.download="analysisReportComment.txt";
				a.click();
			}
		});
	});
	function saveai(hv){
		var i=-1;
		var si=setInterval(function(){
			i++;
			var obj=hv.getElementsByClassName('btn_AiDetail')[i];
			jQuery.ajax({
				type:'POST',
				url:'/app/damtomo/scoring/GetScoringAiListXML.do',
				data:'scoringAiId='+obj.href.substr(36)+'&cdmCardNo='+jQuery('#cdmCardNo').val()+'&cdmToken='+jQuery('#cdmToken').val()+'&detailFlg=1&enc='+encname,
				dataType:'html',
				success:function(xml){
					var a=document.createElement('a');
					a.href='data:text,'+enc(xml);
					a.download='ai_'+obj.href.substr(36)+'.txt';
					a.click();
				}
			});
			if(i>=hv.getElementsByClassName('btn_AiDetail').length-1){
				clearInterval(si);
			};
		},10);
	};
	function savedxg(hv){
		var i=-1;
		var si=setInterval(function(){
			i++;
			var obj=hv.getElementsByClassName('btn_DxGDetail')[i];
			jQuery.ajax({
				type:'POST',
				url:'/app/damtomo/scoring/GetScoringDxgListXML.do',
				data:'scoringDxgId='+obj.href.substr(36)+'&cdmCardNo='+jQuery('#cdmCardNo').val()+'&cdmToken='+jQuery('#cdmToken').val()+'&detailFlg=1&enc='+encname,
				dataType:'html',
				success:function(xml){
					var a=document.createElement('a');
					a.href='data:text,'+enc(xml);
					a.download='dxg_'+obj.href.substr(36)+'.txt';
					a.click();
				}
			});
			if(i>=hv.getElementsByClassName('btn_DxGDetail').length-1){
				clearInterval(si);
			};
		},10);
	};
})();