Java - 下载网页源html的最佳方式

时间:2011-05-02 19:14:12

标签: java downloading

我正在写一个小爬虫。下载网页源html的最佳方法是什么?我目前正在使用下面的一小段代码,但有时候结果只是页面源的一半!我不知道是什么问题。有些人建议我应该使用Jsoup但是如果它太长,使用Jsoup中的.get.html()函数也会返回页面源的一半。由于我正在编写一个爬虫,因此该方法支持unicode(UTF-8)非常重要,效率也非常重要。我想知道最好的现代方式,所以我问你们,因为我是Java的新手。感谢。

代码:

public static String downloadPage(String url)
    {
        try
        {
            URL pageURL = new URL(url);
            StringBuilder text = new StringBuilder();
            Scanner scanner = new Scanner(pageURL.openStream(), "utf-8");
            try {
                while (scanner.hasNextLine()){
                    text.append(scanner.nextLine() + NL);
                }
            }
            finally{
                scanner.close();
            }
            return text.toString();
        }
        catch(Exception ex)
        {
            return null;
        }
    }

2 个答案:

答案 0 :(得分:5)

我使用commons-io String html = IOUtils.toString(url.openStream(), "utf-8");

答案 1 :(得分:2)

就个人而言,我对Apache HTTP库http://hc.apache.org/httpcomponents-client-ga/非常满意。如果你正在编写一个网络爬虫,我也是,你可能会非常感谢它对cookie和客户端共享等内容的控制。