import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
import java.util.Scanner;
import java.util.StringTokenizer;
import com.google.gson.Gson;
public class GoogleFinder {
public static void main(String[] args) throws IOException, InterruptedException {
String address = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
String query = "";
String charset = "UTF-8";
Scanner in = new Scanner(System.in);
String targeturl = in.nextLine();
query = in.nextLine();
for(int i=0;i<125;i++) {
URL url = new URL(address + URLEncoder.encode(query, charset) + "&start=" + i);
//System.out.println(url);
Reader reader = new InputStreamReader(url.openStream(), charset);
GoogleResults results = new Gson().fromJson(reader, GoogleResults.class);
for(int t=0;t<30;t++) {
System.out.print(".");
Thread.sleep(2000);
} System.out.println("");
for(int j=0;j<4;j++) {
String ss = results.getResponseData().getResults().get(j).getUrl().toLowerCase();
if(ss.contains(targeturl)) {
System.out.println(ss);
System.out.println(results.getResponseData().getResults().get(j).getTitle());
System.out.println("Found in the " + (i*4+j+1) + " th");
return;
}
}
System.out.println("" + ((i+1)*4) + " pages found.");
}
System.out.println("Can find " + targeturl + " in the first 500 pages");
}
}
class GoogleResults {
private ResponseData responseData;
public ResponseData getResponseData() {
return responseData;
}
public void setResponseData(ResponseData responseData) {
this.responseData = responseData;
}
public String toString() {
return "ResponseData[" + responseData + "]";
}
static class ResponseData {
private List<Result> results;
public List<Result> getResults() {
return results;
}
public void setResults(List<Result> results) {
this.results = results;
}
public String toString() {
return "Results[" + results + "]";
}
}
static class Result {
private String url;
private String title;
public String getUrl() {
return url;
}
public String getTitle() {
return title;
}
public void setUrl(String url) {
this.url = url;
}
public void setTitle(String title) {
this.title = title;
}
public String toString() {
return "Result[url:" + url + ",title:" + title + "]";
}
}
}
posted on 2015-07-29 14:16
marchalex 阅读(280)
评论(0) 编辑 收藏 所属分类:
java小程序