我想实现一个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