我想通过编程方式保存包括.css .js在内的所有网页。
到目前为止,我尝试了html get
方法和jsoup , webview content
,但所有这些方法都无法用css和js保存所有页面。这些方法只保存WEB页面的html部分。当我保存所有页面时,我想离线打开它。
提前致谢
答案 0 :(得分:2)
您必须获取html,解析它并获取资源的URL,然后也请求这些URL。
public class Stack {
private static final String USER_AGENT = "";
private static final String INITIAL_URL = "";
public static void main(String args[]) throws Exception {
Document doc = Jsoup
.connect(INITIAL_URL)
.userAgent(USER_AGENT)
.get();
Elements scripts = doc.getElementsByTag("script");
Elements css = doc.getElementsByTag("link");
for(Element s : scripts) {
String url = s.absUrl("src");
if(!url.isEmpty()) {
System.out.println(url);
Document docScript = Jsoup
.connect(url)
.userAgent(USER_AGENT)
.ignoreContentType(true)
.get();
System.out.println(docScript);
System.out.println("--------------------------------------------");
}
}
for(Element c : css) {
String url = c.absUrl("href");
String rel = c.attr("rel") == null ? "" : c.attr("rel");
if(!url.isEmpty() && rel.equals("stylesheet")) {
System.out.println(url);
Document docScript = Jsoup
.connect(url)
.userAgent(USER_AGENT)
.ignoreContentType(true)
.get();
System.out.println(docScript);
System.out.println("--------------------------------------------");
}
}
}
}
答案 1 :(得分:0)
我有类似的问题...... 使用此代码,我们可以获得图像,.css,.js。但是一些html内容仍然缺失。 例如,当我们通过chrome保存网页时,有2个选项。
出于.css,.js,.php ......“完整的html”包含的元素多于“仅html”。要求是在第一个选项中像chrome一样完整下载html。