1、jxborwser7介绍
jxborwser7对于jxborwser6进行了大规模重构,放弃了对xp的支持,支持win7以上版本,提高了性能。
2、爬虫思路
爬虫就是拦截服务器对于浏览器的返回内容,所以我们要用到jxbrowser的network模块,network模块中从发起请求到返回结果的流程如下图:
经过阅读官网文档,我发现 ResponseBytesReceived 事件可以获取到服务器给浏览器返回的数据,然后我们判断下url就可以拿到服务器返回的json了。
browserView.getBrowser().profile().network().on(ResponseBytesReceived.class, event -> {
if(event.urlRequest().equals("https://xx.xx.cn/api") ){
byte[] data = event.data();
try {
String body = new String(data, "UTF-8");
JSON jsonBody = JSONUtil.parse(body);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
});
3、参考代码
jxborwser官网提供了一些api的使用demo:
GitHub - TeamDev-IP/JxBrowser-Examples at v7.32
另外我使用jxborwser做了一个开源浏览器,也可以学习。
easy-browser: java开源浏览器,基于jxbrowser实现
4、其他交流
可以加QQ群 468075224 一起交流jxbrowser的使用。