アットウィキロゴ

tv5989

package tvlink;
 
import java.io.*;
 
public class pro {
 
  int subnumber;
  String[] link=new String[5000];
   String[] web=new String[15000];
  String[] sublink=new String[5000];  
  int number;
    String[] name=new String[15000]; 
  String[] week=new String[5000];
  String[] sta =new String[15000];
     int[] time=new int[5000];
    String[] data=new String[5000]; 
    int datanumber;
 
    int de;
 
    public static void main(String[] args) {
        pro test=new pro();
    }
    pro(){
 
 
        readx("201.csv");
 
        int s;
        for(s=2;s<datanumber+1;s++){
        String[] x=data[s].split(","); 
        sta[s-1]=x[0];
        name[s-1]=x[1];
        web[s-1]=x[2];
        }
 
        number=datanumber-1;
 
 
    int tr=1;
 
        int mode=0;
        while(mode<50){
 
        link sub=new link();
        sub.makedata(web[tr],sta[tr]);
        sublink=sub.link;
        subnumber=sub.subnumber;
        name[tr]=sub.titlex;
 
                int sx;
        for(s=1;s<subnumber+1;s++){
        int h=0;
        for(sx=1;sx<number+1;sx++){
        if(sublink[s].equals(web[sx]))h=100;
        }
        if(h<50)number=number+1;
        if(h<50)web[number]=sublink[s];
        if(h<50)sta[number]=sta[tr];
        }
 
      System.out.println(tr+","+sta[tr]+","+name[tr]+""+web[tr]+","+number); 
        tr=tr+1;
        if(tr>number)mode=100;
 
        }
 
      writexml("ren3.txt");
 
 
 
    }
    void writexml(String file){ 
 
    int s,sx;
 
try{ 
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file))); 
 
for(s=1;s<number+1;s++){   
    pw.print(sta[s]+","+name[s]); 
     pw.print(","); 
    pw.println(web[s]); 
}
 
 
 
System.out.println("ファイルに書きこみました。"); 
pw.close(); 
} catch(IOException ep){ System.out.println("入出力エラーです。"); } 
 
 
} 
 
 
    int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
} 
 
 
 void readx(String file){
 
String str;
BufferedReader br;  
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));  
while((str = br.readLine()) != null) {  
s=s+1;
data[s]=str;  
}
br.close();
} catch (IOException e) {System.out.println(e);}  
 
datanumber=s;
 
}     
 
}
 
 
 
package tvlink;
 
import tool.getdata;
 
public class link {
 
 int s,datanumber;
 String[] data=new String[5000];
      String[] link=new String[15000];
      int[] a=new int[600];
       int[] b=new int[600];
       String[] tab=new String[5000];
      String[] tabx=new String[5000];
 
       String[] name=new String[15000];
      String[] web=new String[15000];
  String[] sta_n=new String[5000];
  String[] sta_p=new String[5000];
       String[] next=new String[50];
      String[] prev=new String[50];
      String[] link_p=new String[50];
      String[] link_prev=new String[500];
      String[] title=new String[500];
       String[] sta=new String[500];
      int number;
    String[] memo=new String[50];
 String[] name_p=new String[600];
       String[] name_prev=new String[600];
      String[] smap=new String[500];
       String[] sublink_prev=new String[600];
       String[] name_n=new String[600];
       String[] link_n=new String[600];
    int number_n,number_p;
      String[] time=new String[600];
     String[] term=new String[600];
     String titlex;
     int subnumber;
 
    void makedata(String urlx,String stan){
 
 
 
 
        getdata sub17=new getdata();
        sub17.makedata(urlx,"UTF-8");
        data=sub17.data;
        datanumber=sub17.datanumber; 
 
 
        titlex="";
         for(s=1;s<datanumber+1;s++){
      if(data[s].indexOf("<title")>-1)titlex=data[s];
    }
 
         titlex=titlex.replace(" - Wikipedia</title>","");
          titlex=titlex.replace("<title>","");
 
 
 
        String str="";
        int sx=0;
        for(s=1;s<datanumber+1;s++){
      if(data[s].indexOf("<table")>-1)sx=sx+1;
      if(data[s].indexOf("<table")>-1)a[sx]=s;
 
 
    }
 
 
 
        number=sx;
           for(s=1;s<number+1;s++){
   int sp=0;
  for(sx=a[s];sx<datanumber+1;sx++){
   int h=0;
   if(data[sx].indexOf("</tab")>-1)h=h+1;
   if(sp==0)h=h+1;
   if(h==2)sp=sx;
   } 
  b[s]=sp;
  }
 
           for(s=1;s<number+1;s++){
   str="";
               for(sx=a[s];sx<b[s]+1;sx++){
   str=str+data[sx];
    } 
   tab[s]=str;              
 
           }
 
        sx=0;
             for(s=1;s<number+1;s++){
          int h=0;
          if(tab[s].indexOf("次番組")>-1)h=h+1;
          if(tab[s].indexOf("前番組")>-1)h=h+1;
           if(h==2)sx=sx+1;
           if(h==2)tabx[sx]=tab[s];
             }
 
             number=sx;
 
 
subnumber=0;
 
 
 int de; 
int s5=0;
 for(de=1;de<number+1;de++){   
 
table sub=new table();
sub.makedata(tabx[de]);
link_p=sub.link_p;      
name_p=sub.name_p;    
number_p=sub.number_p;            
number_n=sub.number_n; 
link_n=sub.link_n;      
name_n=sub.name_n;    
sta_p=sub.sta_p;
sta_n=sub.sta_n;
 
for(s=1;s<number_p+1;s++){
s5=s5+1;
link_prev[s5]=link_p[s];
name_prev[s5]=name_p[s];
time[s5]=sta_p[s];  
}
 
 
for(s=1;s<number_n+1;s++){
s5=s5+1;
link_prev[s5]=link_n[s];
name_prev[s5]=name_n[s];
time[s5]=sta_n[s];  
}
 
 
 
}              
 
subnumber=s5; 
 
 
sx=0; 
 
for(s=1;s<subnumber+1;s++){
int h=0;
if(time[s].indexOf(stan)>-1)h=100;
if(h>50)sx=sx+1;
if(h>50)link[sx]=link_prev[s];
if(h>50)name[sx]=name_prev[s];
if(h>50)term[sx]=time[s]; 
 
}    
 
 
 
 
subnumber=sx;
 
 
 
 
 
 
 
 
 }
 
 int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
} 
 
 
String change(String str){
 
        int n;
        for(n=1;n<11;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 tvlink;
 
public class table {
 
    int s;
    String[] sta_n=new String[60];
    String[] sta_p=new String[60];
      String[] name=new String[60];
       String[] link=new String[60];
       String[] link_next=new String[60];
       String[] link_prev=new String[60];
       String[] next=new String[60];
       String[] prev=new String[60];
 String[] link_n=new String[60];
       String[] link_p=new String[60];
 
        String[] name_n=new String[60];
       String[] name_p=new String[60];
 
        String[] subname=new String[60];
       String[] sublink_next=new String[60];
       String[] sublink_prev=new String[60];
       String[] name_next=new String[60];
       String[] name_prev=new String[60];
    int number;
      String[] time=new String[60];
 int number_p,number_n;
 
void makedata(String t){
 
 String str1="<th colspan=\"3\">";
 
     String[] x=t.split("</tr>");
 
        for(s=0;s<x.length-1;s++){
     time[s]="";
     if(x[s].indexOf(str1)>-1)time[s]=change(x[s]); 
     if(time[s].length()>1)x[s]="";
     int s1=s-1;
     if(s1<0)s1=0;
     if(time[s].length()<1)time[s]=time[s1];
     int h=0;
     if(s==0)h=h+1;
     if(time[s]==null)h=h+1;
       if(h==2)time[s]="";
 
        }
 
           for(s=0;s<x.length-1;s++){
     int h=0;
     if(x[s].indexOf("前")>-1)h=h+1;
      if(x[s].indexOf("次")>-1)h=h+1;
     if(h==2)x[s]="";
        }
 
      int sx;
     for(s=0;s<x.length-1;s++){
     String[] y=x[s].split("</td>");
     name_prev[s]="";
     name_next[s]="";
     for(sx=0;sx<y.length;sx++){ 
     if(sx==0)name_prev[s]=change(y[sx]);
     if(sx==2)name_next[s]=change(y[sx]);
     }
 
     }   
 
        for(s=0;s<x.length-1;s++){
     String[] y=x[s].split("</td>");
     link_prev[s]="";
     link_next[s]="";
     for(sx=0;sx<y.length;sx++){ 
     if(sx==0)link_prev[s]=alpha(y[sx]);
     if(sx==2)link_next[s]=alpha(y[sx]);
     }
 
     }   
 
           sx=0;
        for(s=0;s<x.length-1;s++){
     if(link_prev[s].indexOf("https://ja.wikipedia.org/")>-1)sx=sx+1;
     if(link_prev[s].indexOf("https://ja.wikipedia.org/")>-1)sta_p[sx]=time[s];
     if(link_prev[s].indexOf("https://ja.wikipedia.org/")>-1)link_p[sx]=link_prev[s];
     if(link_prev[s].indexOf("https://ja.wikipedia.org/")>-1)name_p[sx]=name_prev[s];
 
        }   
 
        number_p=sx;
 
 
 
           sx=0;
        for(s=0;s<x.length-1;s++){
     if(link_next[s].indexOf("https://ja.wikipedia.org/")>-1)sx=sx+1;
      if(link_next[s].indexOf("https://ja.wikipedia.org/")>-1)sta_n[sx]=time[s];
     if(link_next[s].indexOf("https://ja.wikipedia.org/")>-1)link_n[sx]=link_next[s];
     if(link_next[s].indexOf("https://ja.wikipedia.org/")>-1)name_n[sx]=name_next[s];
 
        }   
 
 number_n=sx;
 
 
}
 String beta(String de){
 int p1=de.indexOf("/wiki/");
 if(p1>-1)p1=de.indexOf(">",p1);
 int p2=-1;  
 if(p1>-1)p2=de.indexOf("</div>",p1);    
 String pp="";
 if(p2>-1)pp=de.substring(p1+1,p2);
        return pp;
    }
String alpha(String de){
 int p1=de.indexOf("/wiki/");
 
 int p2=-1;  
 if(p1>-1)p2=de.indexOf("\"",p1);  
 String pp="";
 if(p2>-1)pp="https://ja.wikipedia.org"+de.substring(p1,p2);
        return pp;
    }
 
String change(String str){
 
        int n;
        for(n=1;n<11;n++){
        str=rev(str);    
        }
 
 
 
        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年09月05日 09:37