您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

您如何以编程方式下载Java网页

您如何以编程方式下载Java网页

这是一些使用Java的URL类的经过测试的代码。我建议比在这里处理异常或将异常传递到调用堆栈方面做得更好。

public static void main(String[] args) {
    URL url;
    InputStream is = null;
    BufferedReader br;
    String line;

    try {
        url = new URL("http://stackoverflow.com/");
        is = url.openStream();  // throws an IOException
        br = new BufferedReader(new InputStreamReader(is));

        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    } catch (MalformedURLException mue) {
         mue.printStackTrace();
    } catch (IOException ioe) {
         ioe.printStackTrace();
    } finally {
        try {
            if (is != null) is.close();
        } catch (IOException ioe) {
            // nothing to see here
        }
    }
}

我会使用像Jsoup这样的体面的HTML解析器。然后就这么简单:

String html = Jsoup.connect("http://stackoverflow.com").get().html();

它完全透明地处理GZIP和分块响应以及字符编码。它还提供了更多优势,例如HTML 遍历和CSS选择器操作(如jQuery一样)。你只需将其作为Document,而不是作为一个String

Document document = Jsoup.connect("http://google.com").get();

你真的不想在HTML上运行基本的String方法甚至regex来处理它。

java 2022/1/1 18:18:01 有615人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶