アットウィキロゴ

XXYYZ

class game implements Runnable{

int count,page,pagenumber;
String keyword,bun,str;
int p1,p2,p3,p4,p5;
String z1,z2,z3,z4,z5;

int[] x1=new int[100];    
int[] x2=new int[100];    
int[] x3=new int[100];    
int[] x4=new int[100];    
int[] x5=new int[100];    

String[] catchdata=new String[1000];
String[] article=new String[20];
String[] body=new String[2000];
String[] date=new String[2000];
String[] link=new String[2000];
String[] byline=new String[2000];
String[] title=new String[2000];
int s,articlenumber;
String str1,str2,str4,str3,str5;

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

game(){

keyword="Junichiro+Koizumi";
count=makecount(keyword);
pagenumber=count/10;
System.out.println(count);

Thread th=new Thread(this);
th.start();

}


public void run(){
page=-1;
while(page<pagenumber+1){
page=page+1;
catchtime(page,keyword);
catchdata[page]=bun;
System.out.println(catchdata[page]);
try{
Thread.sleep(100);
}catch(InterruptedException e){}
}

for(page=0;page<pagenumber+1;page++){
bun=catchdata[page];

makearticle(bun);

for(s=1;s<articlenumber+1;s++){
makeitem(s,article[s]);
}

System.out.println(articlenumber);

}





}

void makeitem(int s,String str){
int p1,p2,p3,p4,p5;
String str1,str2,str4,str3,str5;
String z1,z2,z3,z4,z5;
int h;

str2="\"byline\"";
str3="\"date\"";
str4="\"title\"";
str5="\"url\"";

h=0;
p2=str.indexOf(str2);
if(p2<1)h=100;
p3=str.indexOf(str3);
if(p2<1)p2=p3;
p4=str.indexOf(str4);
p5=str.indexOf(str5);

z1=str.substring(0,p2);
z2="";
if(h<50)z2=str.substring(p2,p3);
z3=str.substring(p3,p4);
z4=str.substring(p4,p5);
z5=str.substring(p5,str.length());

body[s]=json(z1);
if(h>50)byline[s]="";
if(h<50)byline[s]=json(z2);
date[s]=json(z3);
title[s]=json(z4);
link[s]=json(z5);

}

String json(String str){
int p1,p2;
String strx,z1,z2;
p1=str.indexOf(":");
z1=str.substring(p1+1,str.length());
strx="\"";
p1=z1.indexOf(strx);
p2=z1.indexOf(strx,p1+1);
z2=z1.substring(p1+1,p2);
return z2;
}


void makearticle(String str){
String strx;
int s,p1;
int[] x=new int[100];  

strx="\"body\"";

s=0;
p1=str.indexOf(strx);
if(p1>-1)s=s+1;
if(p1>-1)x[s]=p1;
while(p1>0){
p1=str.indexOf(strx,p1+1);
if(p1>1)s=s+1;
if(p1>1)x[s]=p1;
}

articlenumber=s;
for(s=1;s<articlenumber;s++){
article[s]=str.substring(x[s],x[s+1]);
}
s=articlenumber;
article[s]=str.substring(x[s],str.length());

}


void catchtime(int page,String keyword){

String urlx;

urlx="http://api.nytimes.com/svc/search/v1/article?format=json&query=";
urlx=urlx+keyword;
urlx=urlx+"&offset=";
urlx=urlx+page;
urlx=urlx+"&api-key=23db986ae143f51f1ea2a744063ae19b:1:59464465";

getdata gd=new getdata();
gd.makedata(urlx);
bun=gd.bun;

}

int makecount(String keyword){

String urlx,bun,str1,str;
int p1,c;

urlx="http://api.nytimes.com/svc/search/v1/article?format=json&query=";
urlx=urlx+keyword;
urlx=urlx+"&api-key=23db986ae143f51f1ea2a744063ae19b:1:59464465";

getdata gd=new getdata();
gd.makedata(urlx);
bun=gd.bun;

str1="\"total\"";

p1=bun.indexOf(str1);

str=bun.substring(p1,bun.length());
String[] x=str.split(":");
str=x[1].substring(0,x[1].length()-1);
str=str.trim();
c=Integer.parseInt(str);
return c;
}




}
最終更新:2011年04月14日 08:10