有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我在写一个小爬虫。下载网页源html的最佳方式是什么?我目前正在使用下面的一小段代码,但有时结果只是页面源代码的一半!!!我不知道有什么问题。有人建议我应该使用Jsoup,但使用。收到如果页面太长,Jsoup中的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) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

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