使用jxbrowser7 做爬虫采集

1、jxborwser7介绍

        jxborwser7对于jxborwser6进行了大规模重构,放弃了对xp的支持,支持win7以上版本,提高了性能。

2、爬虫思路

  爬虫就是拦截服务器对于浏览器的返回内容,所以我们要用到jxbrowser的network模块,network模块中从发起请求到返回结果的流程如下图:

使用jxbrowser7 做爬虫采集_第1张图片

经过阅读官网文档,我发现 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的使用。

 

你可能感兴趣的:(爬虫)