アットウィキロゴ

かくいんkf

import java.io.*;

class policy{

String urlx,data,file,str;
int[] x=new int[5000];
int[] y=new int[5000];
String[] credit=new String[5000];
String[] link=new String[5000];
String[] lk=new String[50000];
String[] web=new String[5000];
int linknumber,number;
int s,sx,xmlnumber,h;
int page,np,t,p1,p2;

public static void main(String [] args) {
        policy test=new policy();
            }

policy(){

for(page=1;page<177;page++){

file="page/";
file=file+page;
file=file+".txt";

readfile(file);

xymaker(data);

sx=0;
for(s=1;s<xmlnumber+1;s++){
str=creditmaker(s,data);
h=0;
if(str.indexOf("href")>1)h=h+1;
if(str.indexOf("TARGET")>1)h=h+1;
if(h==2)sx=sx+1;
if(h==2)credit[sx]=str;
}

linknumber=sx;
for(s=1;s<linknumber+1;s++){
p1=credit[s].indexOf("./");
p2=credit[s].indexOf("TARGET");
link[s]=credit[s].substring(p1+1,p2-2);
}

for(s=1;s<linknumber+1;s++){
urlx="http://kokkai.ndl.go.jp/SENTAKU/syugiin/";
if(page<10)urlx=urlx+0;
if(page<100)urlx=urlx+0;
urlx=urlx+page;
urlx=urlx+link[s];
urlx=urlx.replace("main","mainb");
web[s]=urlx;
}

file="link/";
file=file+page;
file=file+".txt";

writefile(file);

}

}


void writefile(String file){

try{
PrintWriter pw = new PrintWriter
(new BufferedWriter(new FileWriter(file)));

for(s=1;s<linknumber+1;s++){                                              
pw.println(web[s]);                                                                
}

System.out.println("ファイルに書きこみました。");
pw.close();
}
catch(IOException ep){ System.out.println("入出力エラーです。"); }

}

String creditmaker(int s,String str){
int p1,p2;
String bara;
p1=x[s];
p2=y[s];
bara=str.substring(p1+1,p2);
return bara;
}

void xymaker(String str){
int p1;
int s;
s=1;
p1=str.indexOf("<");
x[1]=p1;
while(p1>-1){
p1=str.indexOf("<",p1+1);
if(p1>-1)s=s+1;
if(p1>-1)x[s]=p1;
}
xmlnumber=s;
for(s=1;s<xmlnumber+1;s++){
y[s]=str.indexOf(">",x[s]);
}

}

void readfile(String file){

String str;
BufferedReader br;  

data="";
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"SJIS"));  
while((str = br.readLine()) != null) {    
data=data+str;  
}
br.close();
} catch (IOException e) {System.out.println(e);}  


}





}
最終更新:2011年07月01日 00:14