コンピュータや音楽の事書いてます

ingressのCOMMの会話ログ取得

http://www.ingress.com/intel のログを過去に遡ろうとすると結構大変なので。

  1. AllかFaction、とりたい方を選択しておく マップの範囲も調節しておく
  2. Firefoxの場合、COMM内を右クリック「Firebugで要素を調査」
  3. Chromeの場合、COMM内を右クリック「要素を検証」
  4. 「コンソール」又は「Console」を開いて、以下を貼り付けて実行
  5. その際、先頭行のstopWordのところを遡りたい日付にする

広い範囲で長時間とろうとすると、凄く重い。要改良。

var stopWord = "Apr 23";
var plexts=document.getElementById("plexts");
var viewWindow = window.open("about:blank");
var viewArea = viewWindow.document.createElement("div");
var prevByte = 0;
var tid, count=0;

setTimeout("onStandby()", 2000);

function getLog(){
  var cont = document.getElementById("plext_container");
  wrk = plexts.innerHTML;

//24時間表記に変換
  wrk = wrk.replace(/(_date">)12(:[0-9]+)(AM|PM)/g, '$100$2$3');
  var PMstr = wrk.match(/(_date">)([0-9]+:[0-9]+)(AM|PM)/);
  if(PMstr){
    var jikan;
    jikan = PMstr[2].match(/([0-9]+)(:[0-9]+)/);
    if(PMstr[3]=="PM"){
      jikan = ("0" + (parseInt(jikan[1]) + 12)).slice(-2) + jikan[2];
    } else {
      jikan = ("0" + parseInt(jikan[1])).slice(-2) + jikan[2];
    }
    wrk = wrk.replace(/(_date">)([0-9]+:[0-9]+)(AM|PM)/g, '$1' + jikan);
  }

  viewArea.innerHTML = wrk + viewArea.innerHTML;
  plexts.innerHTML = "";
  cont.scrollTop = 0;
  tid = setTimeout("getLog()", 1500);
  if(wrk.indexOf(stopWord) >= 0)
    clearInterval(tid);

  count++;
}

function onStandby(){
  viewWindow.document.body.appendChild(viewArea);
  var css = viewWindow.document.createElement("link");
  css.rel = "stylesheet";
  css.type = "text/css";
  css.href = "http://www.ingress.com/css/style_full.css";
  viewWindow.document.body.appendChild(css);
  viewWindow.document.body.style.backgroundColor = "black";
  viewWindow.document.body.style.color = "white";
  var style = viewWindow.document.createElement("style");
  style.innerText = ".pl_timestamp_date { float:left; margin-right: 2em; }";
  viewWindow.document.head.appendChild(style);
  getLog();
}

暫く待っていると、だんだん過去に戻って行き、stopWordの単語が見つかると止まる。人物の名前などにしておくと、その人が登場したところで止まる。