利用htmlunit——WebClient实现的java爬虫程序
2017-08-22 20:15
483 查看
使用htmlunit/WebClient实现java爬虫程序,可以实现抓下css文件和js文件从而可以尽可能保留网页原有的样式和动态效果。
最重要的是可以实现抓取js动态加载的数据。
具体代码如下所示:
其中,webClient.getOptions().setUseInsecureSSL(true);的使用可以使程序抓取具有验证功能的网站。
本文项目源代码:
https://github.com/ahongl/ClassicalCode/blob/master/InternetWormDemo.java
最重要的是可以实现抓取js动态加载的数据。
具体代码如下所示:
其中,webClient.getOptions().setUseInsecureSSL(true);的使用可以使程序抓取具有验证功能的网站。
package com.kinth.worker.webmagic.processors; import java.io.IOException; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlPage; public class Crawler { public static void main(String[] args) { WebClient webClient= new WebClient(BrowserVersion.CHROME);//设置浏览器 webClient.getOptions().setUseInsecureSSL(true); webClient.getOptions().setCssEnabled(true);//设置css是否生效 webClient.getOptions().setJavaScriptEnabled(true);//设置js是否生效 webClient.setAjaxController(new NicelyResynchronizingAjaxController());//设置ajax请求 webClient.getOptions().setTimeout(10000); webClient.waitForBackgroundJavaScript(3000); HtmlPage htmlPage = null; try { htmlPage = webClient.getPage("https://auction.rmfysszc.gov.cn/Result.aspx"); } catch (FailingHttpStatusCodeException | IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }//访问路径设置 System.out.println(htmlPage.asXml()); webClient.close(); System.out.println("Success"); System.exit(0); } }
本文项目源代码:
https://github.com/ahongl/ClassicalCode/blob/master/InternetWormDemo.java
相关文章推荐
- Java爬虫学习:利用HttpClient和Jsoup库实现简单的Java爬虫程序
- Java实现利用搜索引擎收集网址的程序
- Java 多线程 爬虫程序(spider)设计与实现
- 利用Axis2开发WebService(3)---用Java实现调用WebService的客户端程序
- java程序利用接口实现发短信功能
- 利用java实现一个简单的远程监控程序
- Java实现利用搜索引擎收集网址的程序
- 基于java利用JDOM读取XML文件实现简单留言簿程序
- 多线程实现的Java爬虫程序
- 利用IO的知识,实现一个程序列出某个目录下的所有的”.java”文件。
- 利用java实现一个简单的远程监控程序
- Java实现利用搜索引擎收集网址的程序
- Java程序利用main函数中args参数实现参数的传递
- Java实现的网络爬虫程序,简单易懂无框架(我的网络大作业)
- 如何用Java实现利用搜索引擎收集网址的程序
- Java实现利用搜索引擎收集网址的程序
- Andorid利用sserver/runtime实现java执行linux程序或脚本
- Java实现利用搜索引擎收集网址的程序
- 怎么实现利用Java搜索引擎收集网址的程序
- (转)Java实现利用搜索引擎收集网址的程序