当前位置: 首页 > 面试题库 >

使用Java代码获取完整的网页

车辰龙
2023-03-14
问题内容

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



 类似资料:
  • 我想实现一个java方法,它将URL作为输入,并将包括css、图像、js(所有相关资源)在内的整个网页存储在我的磁盘上。我已经使用Jsoup html解析器来获取html页面。现在,我想实现的唯一选项是使用jsoup获取页面,现在解析html内容,将相对路径转换为绝对路径,然后发出另一个获取javascript、图像等的请求。并将它们保存在磁盘上。我也读过html cleaner和htmlunit

  • 问题内容: 如何使用Selenium WebDriver 拍摄整个网页的屏幕快照( 全屏屏幕截图 ),而不仅仅是部分( 从上到下 )? 我的代码: ( Java绑定 ) 关于如何解决这个问题的任何想法? 问题答案: LE: 我看到很多人都对整页的截图感兴趣,所以我想我可能会用一些肯定的答案( 银色子弹 )来更新答案。 有很多Web测试框架可以( 只需最少的设置和工作 )即可生成 整页的屏幕截图 。

  • 我正在刮网页使用JSoup库通过选择类属性,其中包含"nav"字符串。 这是获取网站超文本标记语言的代码: 正如您所看到的,id=“varPreviewMenu”的ul元素包含Jsoup检索到的HTML不包含的li元素。 我怎样才能得到那些元素?

  • 问题内容: 假设有人输入这样的网址: 我想返回: 不 这是我现在拥有的代码 但这又回来了 问题答案: 检查下面的代码,它应该做的很好。

  • 以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows 操作系统、移动设备和游戏系统。 var client = function() { //呈现引擎 var engine = {ie: 0,gecko: 0,webkit: 0,khtml: 0,opera: 0,//完整的版本号ver: null }; //浏览器 var browser = {//主要浏览器ie: 0,f

  • <?php $http = HttpRequest::newSession(); $response = $http->get('http://www.baidu.com/'); $content = $response->body(); // 网页源码