怎么使用Java读取Google搜索结果的网页?
使用读取http://www.google.com.hk/search?hl=zh-CN&source=hp&biw=1026&bih=703&q=java&btnG=Google+搜索这个网页的内容。

解决方案 »

  1.   

    下面的代码返回的是403错误,禁止访问
    package test;import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.Scanner;public class WebCapturer {
        public static void main(String[] args) throws Exception {
            URL url = new URL("http://www.google.com.hk/search?q=biao");
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("GET");
            InputStream in = conn.getInputStream();
            Scanner scanner = new Scanner(in);
            
            while (scanner.hasNextLine()) {
                System.out.println(scanner.nextLine());
            }
        }
    }
      

  2.   

    好奇怪,把url换成百度搜,或者google.com.hk都可以~
      

  3.   

    楼主可以使用抓包工具比如Httpanalyzer看看
    例如,搜索关键词“test”
    get http://www.google.com.hk/complete/search?client=hp&hl=zh-CN&authuser=0&cp=4&q=test&xhr=t
    返回空真正返回结果的是这个url:http://www.google.com.hk/search?hl=zh-CN&source=hp&biw=791&bih=553&q=test&oq=test&aq=f&aqi=&aql=&gs_sm=s&gs_upl=5781l5781l0l1l1l0l0l0l0l0l0l
      

  4.   


    谢谢,使用HttpAnalyzer可以抓取到Google的搜索数据了,嘿嘿,我就是拿来打开里面的链接,然后再抓取链接里面的邮件地址。
      

  5.   

    设置一下你请求参数中的浏览器信息,
    HttpURLConnection uc = (HttpURLConnection) baseURL.openConnection(proxy);
    uc.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5.2-2.fc11 Firefox/3.5.2");看看有没有效果