Greasy Fork is available in English.

Caliente.mx

Descarga todos los registros mostrados en "mi cuenta" de la página de caliente

// ==UserScript==
// @name        Caliente.mx
// @namespace   Caliente.mx
// @description Descarga todos los registros mostrados en "mi cuenta" de la página de caliente
// @include     https://sports.caliente.mx/web_nr?key=account.go_account
// @include     https://sports.caliente.mx/web_nr?bet_result=&page_num=*
// @include     https://sports.caliente.mx/web_nr?key=account.go_bets_history*
// @version  2
// @grant    GM_getValue
// @grant    GM_setValue
// @grant    GM_deleteValue
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==

var list = $( ".colour-code" )[0];
var inProcess = GM_getValue( "inProcess", false );
var formatedFullPage = GM_getValue( "formatedFullPage", "" );

var newLi = document.createElement( "li" );
var newLiCurrent = document.createElement( "li" );
newLi.className = "bet-won";
newLiCurrent.className = "bet-won";

if( inProcess ){
  
  newLi.appendChild( document.createTextNode( "Espera..." )  );
  newLiCurrent.appendChild( document.createTextNode( "Espera..." )  );
  formatedFullPage += getFormatedPage();
  GM_setValue( "formatedFullPage", formatedFullPage );
  
  var nextButtons = $( ".next" );
  if( nextButtons.length == 0 ){
    finishProcess( newLi, formatedFullPage );
  } else {
    window.location.href = nextButtons[1].href;
  }
  
} else {
  
  newLi.appendChild( document.createTextNode( "Descargar" )  );
  newLiCurrent.appendChild( document.createTextNode( "Descargar actual" )  );
  newLi.onclick = function(){
  
    GM_setValue( "inProcess", true );
    formatedFullPage = "Fecha de la apuesta\tNúmero de apuesta\tTipo de apuesta\tApuesta\tMonto de apuesta\tMomios\tIngreso\tEstado" +
        "Fecha y hora del evento\tDescripción del evento\tApuesta\tSeleccion\tGanancia posible\tResultado\n";  
    formatedFullPage += getFormatedPage();
    GM_setValue( "formatedFullPage", formatedFullPage );
    
    var nextButtons = $( ".next" );
    
    if( nextButtons.length == 0 ){
      finishProcess( newLi, formatedFullPage );
    } else {
      window.location.href = nextButtons[1].href;
    }
    
  };
  
  newLiCurrent.onclick = function(){
    formatedFullPage += getFormatedPage();
    finishProcess( newLiCurrent, formatedFullPage );
    
  }
}

list.appendChild( newLi );
list.appendChild( newLiCurrent );

function finishProcess( newLi, formatedFullPage ){
  
  newLi.appendChild( document.createTextNode( "TERMINADO" )  );
  GM_setValue( "inProcess", false );
  GM_deleteValue( "formatedFullPage" );
  var header = $( ".header-ctrls" )[0];
  var textarea = document.createElement( "textarea" );
  textarea.rows = "10";
  textarea.cols = "80";
  textarea.appendChild( document.createTextNode( formatedFullPage ) );
  header.appendChild( textarea );
  
  
  
}

function getFormatedPage(){
  
  var formatedPage = "";
  var trs = document.getElementsByTagName( "tr" );
  
  for( var i = 1; i < trs.length; i = i+1 ){
  
    var expId = i+1;
    var trexp = trs[expId];
    var tr = trs[i];
    
    var tds = tr.getElementsByTagName( "td" );
       
    if( tds.length != 8 ){
      continue;
    }
    
    formatedPage += tds[0].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[1].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[2].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[3].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[4].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[5].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[6].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    
    tds = trexp.getElementsByTagName( "td" );
    
    formatedPage += tds[1].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[2].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[3].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[4].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[5].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\t";
    formatedPage += tds[6].textContent.replace(new RegExp("\n", 'g'), " " ).trim() + "\n";
      
  }
  
  return formatedPage;
  
}