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