march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          <2015年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          import java.io.BufferedReader;
          import java.io.FileNotFoundException;
          import java.io.FileReader;
          import java.io.IOException;
          import java.io.InputStreamReader;
          import java.net.HttpURLConnection;
          import java.net.MalformedURLException;
          import java.net.URL;
          import java.net.URLEncoder;
          import java.util.ArrayList;
          import java.util.List;
          import java.util.Scanner;

          public class GoogleFinderNew {
              
              
          private static String address = "https://www.google.com.hk/search?hl=en&q=";
              
          private static String query = "";
              
          private static String charset = "UTF-8";
              
              
          private static List<String> useragentList = new ArrayList<String>();
              
              
          private static void initUserAgentList(String filename) throws IOException {
                  BufferedReader reader 
          = new BufferedReader(new FileReader(filename));  
                  String line 
          = null;
                  
          while((line = reader.readLine()) != null){
                      useragentList.add(line.trim());
                  }
                  reader.close();
                  
          return;
              }
              
              
          private static List<String> getpages(URL url) throws IOException {
                  HttpURLConnection urlConnection 
          = (HttpURLConnection) url.openConnection();
                  BufferedReader reader 
          = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line;
                  String ans 
          = "";
                  
          while ((line = reader.readLine()) != null){
                       ans 
          += line + "\n";
                  }
                  
          int st = -1, ed = 0;
                  List
          <String> pagesList = new ArrayList<String>();
                  
                  
          while((st = ans.indexOf("<h3 class=\"r\"><a href=\"", ed)) != -1) {
                      ed = ans.indexOf("\"", st+23);
                      //System.out.println(ans.substring(st+23, ed));
                      pagesList.add(ans.substring(st+23, ed));
                  }
                  
          return pagesList;
              }
              
              
          public static void main(String[] args) throws MalformedURLException, IOException, InterruptedException {
                  
                  Scanner in 
          = new Scanner(System.in);
                  String askurl 
          = in.nextLine();
                  query 
          = in.nextLine();
                  
                  initUserAgentList(
          "D:\\useragent.txt");
                  
                  
          //System.setProperty("http.agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.3.154.9 Safari/525.19");
                  
                  
          int pages = 10;
                  
                  
          for(int i=0;i<pages;i++) {
                      System.out.println((i
          +1+ " ..");
                      
                      
          int index = (int)(useragentList.size()*Math.random());
                      
          if(index == useragentList.size()) index --;
                      String theUserAgent 
          = useragentList.get(index);
                      
                      System.setProperty(
          "http.agent", theUserAgent);
                      
                      String urlString 
          = address + URLEncoder.encode(query, charset);
                      
          if(i != 0) urlString += "&start=" + i + "0";
                      
          //System.out.println(urlString);
                      List<String> list = getpages(new URL(urlString));
                      
          for(String page : list) {
                          
          if(page.contains(askurl)) {
          //                if(page.equals(askurl)) {
                              System.out.println(askurl + " found in the " + (i+1+ " th page.");
                              System.out.println(page);
                              
          return;
                          }
                      }
                      
          int extraTime = 0//(int)(3000 * Math.random());
                      Thread.sleep(1000 + extraTime);
                  }
                  
                  System.out.println(
          "can't find " + askurl + " in the first " + pages + " pages.");
              }
          }
          posted on 2015-07-29 16:41 marchalex 閱讀(270) 評論(0)  編輯  收藏 所屬分類: java小程序
          主站蜘蛛池模板: 屯留县| 阳城县| 郸城县| 密山市| 佳木斯市| 吴桥县| 利津县| 绥江县| 固始县| 马龙县| 札达县| 报价| 离岛区| 观塘区| 长治市| 朝阳区| 宕昌县| 丰都县| 若尔盖县| 邛崃市| 舟山市| 尼勒克县| 乐山市| 永德县| 诸城市| 米泉市| 青岛市| 阜新| 德州市| 和硕县| 尤溪县| 安塞县| 文水县| 定陶县| 广南县| 白河县| 滦平县| 七台河市| 柘荣县| 开封市| 洛宁县|