アットウィキロゴ

dlx3

package tvts;
 
 
import tool.*;
 
public class pro {
 
 
     int s,datanumber;
String[] data=new String[5000];
 
 String[] den=new String[5000];
 String[] credit=new String[5000];
int number;
int[] point=new int[60];
int[] pointx=new int[60];
String[] link=new String[5000];
String[] name=new String[5000];
 
 
    public static void main(String[] args) {
        pro test=new pro();
    }
 
    pro(){
 
        int tr=0;
 
        int de;
        for(de=1990;de<2016;de++){
           String urlx="https://ja.wikipedia.org/wiki/Category:"+de+"%E5%B9%B4%E3%81%AE%E3%83%86%E3%83%AC%E3%83%93%E7%95%AA%E7%B5%84_(%E6%97%A5%E6%9C%AC)";
 
 
    getdata sub2=new getdata();
   sub2.makedata(urlx,"UTF-8");
   data=sub2.data;
   datanumber=sub2.datanumber;
 
   int s1=0;
   for(s=1;s<datanumber+1;s++){
   if(data[s].indexOf("<h2>カテゴリ")>-1)s1=s;
 
   } 
 
 
    int s2=0;
   for(s=s1;s<datanumber+1;s++){
   if(data[s].indexOf("各年の日本のテレビ番組")>-1)s2=s;
 
   } 
 
 
   int sx=0;
    for(s=s1;s<s2;s++){
      if(data[s].indexOf("<li>")>-1)sx=sx+1;  
    if(data[s].indexOf("<li>")>-1)link[sx]=data[s]; 
    }
 
    number=sx;
 
 
 
 
    for(s=1;s<number+1;s++){
   int p1=link[s].indexOf("wiki");
   p1=link[s].indexOf(">",p1);
   int p2=link[s].indexOf("</a",p1);
   name[s]=link[s].substring(p1+1,p2);
    }
 
 
    for(s=1;s<number+1;s++){
   int p1=link[s].indexOf("wiki");
   int p2=link[s].indexOf("\"",p1);
   link[s]="https://ja.wikipedia.org/"+link[s].substring(p1,p2);
    }
 
 
    for(s=1;s<number+1;s++){
    System.out.println(s+","+name[s]);
    }
 
 
 
 
    for(s=2;s<number+1;s++){
        urlx=link[s];
     tr=tr+1;   
   memo sub=new memo();
   sub.makedata(urlx,"data/"+tr+".txt");
    }
 
 
        }
 
 
 
 
    }
 
        String change(String str){
 
        int n;
        for(n=1;n<20;n++){
        str=rev(str);    
        }
 
        str=str.replace(" ","");
 
        return str;
    }
 
 String rev(String str){
 
        if(str==null)str="";
 
        int p1=str.indexOf("<");
        int p2=str.indexOf(">",p1);
        String strx="";
        if(p2>-1)strx=str.substring(p1,p2+1);
        str=str.replace(strx,"");
 
        return str;
    }    
 
 
 
}
 
 
package tvts;
 
 
import tool.*;
 
public class memo {
 
 
     int s,datanumber;
String[] data=new String[5000];
 
 String[] den=new String[5000];
 String[] credit=new String[5000];
int number;
int[] point=new int[60];
int[] pointx=new int[60];
String[] subdata=new String[5000];
 
 
 
 
    void makedata(String urlx,String file){
 
 
 
 
     getdata sub2=new getdata();
   sub2.makedata(urlx,"UTF-8");
   data=sub2.data;
   datanumber=sub2.datanumber;
 
 
   String delta="<table class=\"infobox";
 
   int sx;
   sx=0;
   for(s=1;s<datanumber+1;s++){
   if(data[s].indexOf(delta)>-1)sx=sx+1;
   if(data[s].indexOf(delta)>-1)point[sx]=s;    
   }
 
   int num=sx;
 
 
    for(s=1;s<num+1;s++){
    int sig=0;
   for(sx=point[s]+1;sx<datanumber;sx++){
    int h=0;
   if(data[sx].indexOf("</table")>-1)h=h+1;
   if(sig==0)h=h+1;
   if(h==2)sig=sx;
 
   }  
   pointx[s]=sig;
    }
 
 
 
    String str="";
         for(s=1;s<num+1;s++){
           for(sx=point[s]+1;sx<pointx[s]+1;sx++){
         str=str+data[sx];
             }   
         }
 
 
         String[] x=str.split("</tr>");
 
         for(s=0;s<x.length;s++){
         x[s]=x[s].replace("</th>","△");
         x[s]=x[s].replace("</td>","△");
         x[s]=change(x[s]);
         String[] y=x[s].split("△");
         credit[s+1]="";
         if(y.length>0)credit[s+1]=y[0];
         den[s+1]="";
         if(y.length>1)den[s+1]=y[1];
         }
 
         number=x.length;
 
         for(s=1;s<number+1;s++){
         subdata[s]=credit[s]+","+den[s];    
         }
 
 
         writefile sub5=new writefile();
         sub5.datanumber=number;
         sub5.data=subdata;
         sub5.makedata(file);
 
 
 
 
 
 
 
 
    }
 
        String change(String str){
 
        int n;
        for(n=1;n<20;n++){
        str=rev(str);    
        }
 
        str=str.replace(" ","");
 
        return str;
    }
 
 String rev(String str){
 
        if(str==null)str="";
 
        int p1=str.indexOf("<");
        int p2=str.indexOf(">",p1);
        String strx="";
        if(p2>-1)strx=str.substring(p1,p2+1);
        str=str.replace(strx,"");
 
        return str;
    }    
 
 
 
}
 
最終更新:2016年07月21日 10:44