アットウィキロゴ

DL YOKU

function travel() {
 
var link=new Array();
 
var id="1Xj-TjcOhNB7Aryj-bowGXlwgn-qNkvCSpqtZfkM2Tho";
var ex = SpreadsheetApp.openById(id);
var sh = ex.getSheetByName("date");  
 
var sh2 = ex.getSheetByName("count"); 
 
pop=sh2.getRange(1,1).getValue();
 
dp=1827;
 
var vv=sh.getRange(1,1,dp+1,1).getValues();
 
for(s=1;s<dp+1;s++){
link[s]=vv[s][0];
}
 
 
for(trs=pop;trs<pop+10;trs++){
ant(trs,link[trs]);
}
 
pop=pop+10;
 
sh2.getRange(1,1).setValue(pop);
 
 
}
 
 
function ant(num,uu) {
 
  sx=0;
 
 
 
date=uu.replace("https://tvtopic.goo.ne.jp/program/",""); 
 
 
   str="";
      try {
 
 var res = UrlFetchApp.fetch(uu);
        str=res.getContentText();
 
    } catch (e) { Logger.log("Fail");}
 
 
 
 
 
  var x=str.split("\n");
 
 
 
 web="";
  for(s=1;s<x.length;s++){
 if(x[s].indexOf("/program/cx/877/")>-1)web=x[s];
 }
 
 p1=web.indexOf("/program/");
 p2=web.indexOf("\"",p1);
if(p1>-1)web="https://tvtopic.goo.ne.jp"+web.substring(p1,p2);
 
 
 
search(num,date,web);
 
 
 
 
}
 
function search(num,dd,uu) {
 
 
 
 
 
   str="";
      try {
 
 var res = UrlFetchApp.fetch(uu);
        str=res.getContentText();
 
    } catch (e) { Logger.log("Fail");}
 
 
 
  ww="<dt class=\"nr-label\">キーワード</dt>";
 
 
  var a=new Array();
  p1=0;
  sx=0;
  while(p1>-1){
  p1=str.indexOf(ww,p1+1);
  if(p1>0)sx=sx+1;
   if(p1>0)a[sx]=p1;
 
  }
  number=sx;
 
  var memo=new Array();
 
  for(s=1;s<number+1;s++){
 
  p1=a[s];
  p2=str.indexOf("</dl>",p1);
  memo[s]=str.substring(p1,p2);
  }
 
  var word=new Array();
 
 
  tx=0; 
  for(s=1;s<number+1;s++){
  var x=memo[s].split("</dd>");
  for(sx=0;sx<x.length;sx++){
  tx=tx+1;
  word[tx]=x[sx];
  }
  }
 
 
  number=tx;
  for(s=1;s<number+1;s++){
  p1=word[s].indexOf("<dd>",p1);;
  p2=word[s].indexOf("</a>",p1);
  word[s]=word[s].substring(p1,p2);
word[s]=clean_str(word[s]); 
  }
 
var id="1Xj-TjcOhNB7Aryj-bowGXlwgn-qNkvCSpqtZfkM2Tho";
var ex = SpreadsheetApp.openById(id);
var sh = ex.getSheetByName("data");  
 
 var v=new Array();
 
  for(s=0;s<number+1;s++){
 v[s]=new Array();
 }
 
 
 v[0][0]=dd;
 for(s=1;s<number+1;s++){
 v[s][0]=word[s];
 }
 
 
sh.getRange(1,num,number+1,1).setValues(v); 
 
 
 
 
 
}
 
function clean_str(str){
 
  strx=str;
  for(m=1;m<5;m++){
  strx=fresh(strx);
  }
 
  strx=strx.replace("&nbsp","");
  strx=strx.replace("&nbsp","");
  strx=strx.replace(";","");
  return strx;
 
}
 
function fresh(str){
 
  p1=str.indexOf("<");
  p2=str.indexOf(">",p1);
  sp="";
  if(p1>-1)sp=str.substring(p1,p2+1);
 
  k=str.replace(sp,"");
  return k;
}
 
最終更新:2017年05月01日 10:29