在java中保存网页src和使用jsoup的链接

时间:2017-02-08 14:51:43

标签: javascript java html css jsoup

尝试保存整个网页,包括链接的样式表和javascript。我可以保存页面,但是在尝试调出保存的页面时,所有脚本和样式都会丢失。我需要能够保存这些链接的源以及html。

<link href="/thePage.css" rel="stylesheet" type="text/css">
<script language="Javascript" type="text/Javascript" src="/thePage.js"></script>

到目前为止我已经

Document doc = Jsoup.connect("http://www.thePage.com").get();
logger.info(doc.html());

1 个答案:

答案 0 :(得分:1)

这应该可以使用JSoup,但需要一些工作。获得Document后,您可以使用select()(JSoupo选择器)来检索匹配的元素。所以你可以做类似的事情:

Elements media = doc.select("script[src]");
Elements links = doc.select("link[href]");

然后,您可以遍历找到的元素并下载媒体。您可以执行以下操作来下载文件:

byte[] bytes = Jsoup.connect(linkUrl)
.header("Accept-Encoding", "gzip, deflate")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0")
.referrer(URL_TO_PARSE)
.ignoreContentType(true)
.maxBodySize(0)
.timeout(600000)
.execute()
.bodyAsBytes();

确保您传递给Jsoup.connect()的URL正确。相对路径显然可以用于脚本/媒体位置。

然后,您需要将字节保存到文件位置,该目录层次结构与源HTML文件中的预期引用相匹配。这可能是相当多的工作。祝你好运。