失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java html截图_Java实现网页截图/登录截图

java html截图_Java实现网页截图/登录截图

时间:2021-01-06 01:14:59

相关推荐

java html截图_Java实现网页截图/登录截图

对于Java实现网页截图这个问题,笔者在网上一番搜索之后,大概看到了如下三种实现方式。使用Robot

利用JNI,调用第三方C/C++组件

自行解析HTML标记,并将其图像化

第一种方式无法同时处理大量数据,第二种方式增加了技术的复杂性,第三章方式中规中矩,但是开发费时,尤其时对于JavaScript的解析,难度会增大很多。所以,笔者放弃使用了前3种方式,直接使用了一个第三方截图服务,目前来看各方面都是很满意的。

该服务有如下特点:支持多线路

支持登录截图

支持UA变换

支持Cookie注入 实现登录截图

支持自定义宽高

支持网页滚动截图

支持设定截图前的延迟时间

使用方式也很简单,我们打开它的首页 / 注册一个账号,然后你会在用户中心获取到一个唯一的Token,保存好这个Token 不要泄漏!

下面来看看它支持的参数:

您可以前往API文档页面查看更多的参数。

使用Java调用截屏大师的接口获取截图:package main;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import .URL;

import .URLEncoder;

public class Main {

public static void main(String[] args) {

try {

// 参数

String token = "YOUR_API_TOKEN";

String url = URLEncoder.encode("");

int width = 1280;

int height = 800;

int full_page = 1;

// 构造URL

String query = "/api/v1/screenshot";

query += String.format("?token=%s&url=%s&width=%d&height=%d&full_page=%s",

token, url, width, height, full_page);

URL apiUrl = new URL(query);

// 调用API并将结果保存进screenshot.png

InputStream inputStream = apiUrl.openStream();

OutputStream outputStream = new FileOutputStream("./screenshot.png");

inputStream.transferTo(outputStream);

inputStream.close();

outputStream.close();

} catch(Exception ex) {

ex.printStackTrace();

}

}

}

如果觉得《java html截图_Java实现网页截图/登录截图》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。