java从网页抓取数据( 有没有们有没有想过如何爬取js生成的网络页面吗?)
优采云 发布时间: 2022-02-24 11:15java从网页抓取数据(
有没有们有没有想过如何爬取js生成的网络页面吗?)
当我们使用浏览器处理网页时,有时我们不需要浏览。例如,使用 PhantomJS 适用于无头浏览器抓取网页数据。有没有想过如何爬取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教程。