使用java代码获取完整的网页 [英] Fetch complete web page using java code

查看:599
本文介绍了使用java代码获取完整的网页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想实现一个java方法,它将URL作为输入并存储整个网页,包括css,images,js(所有相关资源)在我的磁盘上。我使用Jsoup html解析器来获取html页面。现在我想要实现的唯一选择是使用jsoup获取页面,现在解析html内容并将相对路径转换为绝对路径,然后再生成javascript,图像等的get请求并将它们保存在磁盘上。
我也读过关于html cleaner,htmlunit解析器但我认为在所有这些情况下我必须解析html内容以获取图像,css和javascript文件。

I want to implement a java method which takes URL as input and stores the entire webpage including css, images, js (all related resources) on my disk. I have used Jsoup html parser to fetch html page. Now the only option I am thinking to implement is get the page using jsoup and now parse the html content and convert relative path to absolute path and then make another get requests for javascript, images etc. and save them on disk. I also read about html cleaner, htmlunit parsers but i think in all these cases I have to parse the html content to fetch images,css and javascript files.

任何关于我是否正确思考的建议。
或者有没有简单的方法来完成这个任务?

Any advice whether i am thinking right or not. Or is there any easy way to accomplish this task ??

推荐答案

基本上,你可以用Jsoup来做:

Basically, you can do it with 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"));
        }

以及图片和所有相关资源等等。

And so on with images and all related resources.

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

BUT if your site creates some elements with javaScript, Jsoup will skip it, as it cant execute javaScript

这篇关于使用java代码获取完整的网页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆