アットウィキロゴ

リンク作成9

package sunday;
 
import java.io.*;
 
public class pro {
 
     String[] credit=new String[5000];
    String[] title=new String[5000];
      String[] prev=new String[5000];
      String[] next=new String[5000];
       String[] link_prev=new String[5000];
      String[] link_next=new String[5000];
      int number;
      String web;
int s,datanumber;
   String[] data=new String[9000];
  String[] link=new String[9000];
 
    public static void main(String[] args) {
        pro te=new pro();
    }
 
    pro(){
 
        readx("data.csv");
 
 
        for(s=2;s<datanumber+1;s++){
 
        String[] x=data[s].split(",");
        link[s-1]=x[1];
        }
 
        int tr;
        for(tr=1;tr<datanumber;tr++){
 
        String urlx=link[tr];
 
     link sub=new link();
     sub.makedata(urlx);
     title=sub.title;
     number=sub.number;
     credit=sub.credit;
     prev=sub.prev;
     next=sub.next;
     link_prev=sub.link_prev;
     link_next=sub.link_next;
 
 
     web=urlx;
        int s;
 
 
 
 
        writexml("data/"+tr+".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("<credit>");
pw.print(credit[s]); 
pw.print("</credit>");
pw.print("<title>");
pw.print(title[s]); 
pw.print("</title>");
pw.print("<link>");
pw.print(web); 
pw.print("</link>");
pw.print("<prev>");
pw.print(prev[s]); 
pw.print("</prev>"); 
pw.print("<link_prev>");
pw.print(link_prev[s]); 
pw.print("</link_prev>"); 
pw.print("<next>");
pw.print(next[s]); 
pw.print("</next>"); 
pw.print("<link_next>");
pw.print(link_next[s]); 
pw.println("</link_next>"); 
}
 
 
System.out.println("ファイルに書きこみました。"); 
pw.close(); 
} catch(IOException ep){ System.out.println("入出力エラーです。"); } 
 
 
} 
 
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 sunday;
 
 
import tool.getdata;
 
 
public class link {
 
 int s,datanumber;
 String[] data=new String[5000];
      String[] link=new String[5000];
      int[] a=new int[600];
       int[] b=new int[600];
       String[] tab=new String[5000];
      String[] tabx=new String[5000];
 
       String[] name=new String[5000];
      String[] web=new String[5000];
         String[] credit=new String[5000];
       String[] memo=new String[5000];
      int number;
 
      String[] title=new String[5000];
      String[] prev=new String[5000];
      String[] next=new String[5000];
       String[] link_prev=new String[5000];
      String[] link_next=new String[5000];
 
 
    void makedata(String urlx){
 
 
 
 
        getdata sub17=new getdata();
        sub17.makedata(urlx,"UTF-8");
        data=sub17.data;
        datanumber=sub17.datanumber; 
 
        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("前番組</th>")>-1)h=h+1;
           if(tab[s].indexOf("次番組</th>")>-1)h=h+1;
           if(h==2)sx=sx+1;
           if(h==2)tabx[sx]=tab[s];
 
             }
 
             number=sx;
 
 
 
        int tx=0;     
           int tr;
 
 
 
           for(tr=1;tr<number+1;tr++){
        String[] x=tabx[tr].split("</tr>");
 
        int s1=0;
 
               for(s=1;s<x.length;s++){
              if(x[s].indexOf("前番組</th>")>-1)s1=s;
               }
              memo[tr]=x[s1+1];          
           credit[tr]=change(x[s1-1]);   
           }
 
 
           for(tr=1;tr<number+1;tr++){
             String[] x1=memo[tr].split("</td>");
 
             title[tr]=change(x1[1]);    
 
        link_prev[tr]="https://ja.wikipedia.org"+alpha(x1[0]);  
        prev[tr]=change(beta(x1[0]));  
 
 
        link_next[tr]="https://ja.wikipedia.org"+alpha(x1[0]);    
        next[tr]=change(beta(x1[2]));  
           }
 
 
 
 
 
 
 
 
    }
    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=de.substring(p1,p2);
        return pp;
    }
 
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;
    }    
 
 
 
}
 
最終更新:2016年08月27日 17:15