JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API

简介: 基本原理: JDK6u10版本以上提供了DeskTop的API接口支持,可以根据URI参数自动打开 操作系统默认的浏览器来加载对应的网页,同时借助JDK的Robot类实现自动截屏 这样就完成了对任意一个URL对应网页保存为图片。
+关注继续查看

基本原理:

JDK6u10版本以上提供了DeskTop的API接口支持,可以根据URI参数自动打开

操作系统默认的浏览器来加载对应的网页,同时借助JDK的Robot类实现自动截屏

这样就完成了对任意一个URL对应网页保存为图片。程序如下:

package com.gloomyfish.image.util;

import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URI;

import javax.imageio.ImageIO;

public class DeskTopTest {
	public static void main(String[] args) {
		if (!java.awt.Desktop.isDesktopSupported()) {
			System.err.println("Desktop is not supported (fatal)");
			System.exit(1);
		}

		java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
		if (!desktop.isSupported(java.awt.Desktop.Action.BROWSE)) {
			System.err.println("Desktop doesn't support the browse action (fatal)");
			System.exit(1);
		}
		
		try {
			URI uri = URI.create("http://www.csdn.net");
			desktop.browse(uri);
			Thread.sleep(8000); // 8 seconds is enough to load the any page.
			Robot robot = new Robot();
			// Rectangle rectangle = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize() );
			Rectangle rectangle = new Rectangle(300, 90, 1000, 720);
			BufferedImage image = robot.createScreenCapture(rectangle);
			File outputfile = new File("D:\\agriculture\\test.jpg");
			ImageIO.write(image, "jpg", outputfile);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (AWTException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		} 
	}
}
缺点:

程序运行时用户不能有其它操作,否则可能保存错误截屏。 这里

假设加载一个网页时间最长为8秒.

转载请注明出自gloomyfish


目录
相关文章
|
2月前
|
JavaScript 前端开发 网络协议
带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(1)
带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(1)
|
2月前
|
监控 JavaScript 前端开发
带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(2)
带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(2)
|
2月前
|
监控 JavaScript 前端开发
带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(3)
带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(3)
|
3月前
|
移动开发 小程序
小程序-uniapp:URL Link / 适用于在移动端 从短信、邮件、微信外网页 等场景打开小程序任意页面
小程序-uniapp:URL Link / 适用于在移动端 从短信、邮件、微信外网页 等场景打开小程序任意页面
83 0
|
10月前
|
安全 Linux Apache
【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化
【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化
|
前端开发 JavaScript API
React 18 正式发布,包括自动批处理、新的 API 等开箱即用的改进
React 18 正式发布,包括自动批处理、新的 API 等开箱即用的改进
207 0
|
API PHP
PHP对接百度API访问自动提交收录SEO
PHP对接百度API访问自动提交收录
424 0
PHP对接百度API访问自动提交收录SEO
|
网络协议 网络架构
「从URL到网页🌏」构建计算机网络知识体系-04
「从URL到网页🌏」构建计算机网络知识体系-04
74 0
「从URL到网页🌏」构建计算机网络知识体系-04
|
网络协议 前端开发
「从URL到网页🌏」构建计算机网络知识体系-03
「从URL到网页🌏」构建计算机网络知识体系-03
97 0
「从URL到网页🌏」构建计算机网络知识体系-03
|
缓存 网络协议 前端开发
「从URL到网页🌏」构建计算机网络知识体系-02
「从URL到网页🌏」构建计算机网络知识体系-02
94 0
「从URL到网页🌏」构建计算机网络知识体系-02
相关产品
云迁移中心
推荐文章
更多