当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作。最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急,本文小编将向大家介绍。
1、PhantomJS的功能
提供一个浏览器环境的命令行接口,除了不能浏览,其他与正常浏览器一样。它的内核是WebKit引擎,不提供图形界面,只能在命令行下使用。
2、PhantomJS用途
适用范围就是无头浏览器的适用范围。通常无头浏览器可以用于页面自动化和网络爬虫等。
页面自动化测试:希望自动的登陆网站并做一些操作然后检查结果是否正常。
网络爬虫:获取页面中使用js来下载和渲染信息,或者是获取链接处使用js来跳转后的真实地址。
3、对于使用PhantomJS编写的parser.js文件调用java爬虫爬取网页数据Runtime rt = Runtime.getRuntime();
Process process = null;
try {
process = rt.exec("C:/phantomjs.exe C:/parser.js " +url);
InputStream in = process.getInputStream();
InputStreamReader reader = new InputStreamReader(in, "UTF-8");
BufferedReader br = new BufferedReader(reader);
StringBuffer sbf = new StringBuffer();
String tmp = "";
while ((tmp = br.readLine()) != null) {
sbf.append(tmp);
}
return sbf.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
以上就是对PhantomJS简单介绍,以及使用java爬虫爬取PhantomJS编写的网络页面进行爬虫数据的代码实现,希望能对你有所帮助哦~更多java推荐:java教程。