我想实现一个Java方法,该方法将URL作为输入并将整个网页(包括css,图像,js(所有相关资源))存储在磁盘上。我已经使用Jsoup html解析器来获取html页面。现在,我想实现的唯一选择是使用jsoup获取页面,现在解析html内容并将相对路径转换为绝对路径,然后再次获取对javascript,图像等的请求并将它们保存在磁盘上。
我还阅读了有关HTML清洁器,htmlunit解析器的信息,但我认为在所有这些情况下,我都必须解析html内容以获取图像,css和javascript文件。

任何建议,无论我在想正确与否。
还是有任何简单的方法来完成此任务?

最佳答案

基本上,您可以使用Jsoup做到这一点:

 Document doc = Jsoup.connect("http://rabotalux.com.ua/vacancy/4f4f800c8bc1597dc6fc7aff").get();
         Elements links = doc.select("link");
         Elements scripts = doc.select("script");
        for (Element element : links) {
              System.out.println(element.absUrl("href"));
        }
        for (Element element : scripts) {
              System.out.println(element.absUrl("src"));
        }

等等,包括图片和所有相关资源。

但是如果您的站点使用javaScript创建了一些元素,那么Jsoup将跳过它,因为它无法执行javaScript

10-02 05:16
查看更多