zoukankan      html  css  js  c++  java
  • Java使用HtmlUnit抓取js渲染页面

    需求:

    需要采集js渲染的页面,有些网站的页面是js渲染的

    实现:

    基于HtmlUnit实现:

    1. public static void getAjaxPage() throws Exception{  
    2.     WebClient webClient = new WebClient();  
    3.     webClient.setJavaScriptEnabled(true);  
    4.     webClient.setCssEnabled(false);  
    5.     webClient.setAjaxController(new NicelyResynchronizingAjaxController());  
    6.     webClient.setTimeout(Integer.MAX_VALUE);  
    7.     webClient.setThrowExceptionOnScriptError(false);  
    8.     HtmlPage rootPage = webClient.getPage("http://tt.mop.com/read_14304066_1_0.html");  
    9.  
    10.     System.out.println(rootPage.asXml());  

    maven依赖:

    1. <dependency
    2.     <groupId>net.sourceforge.htmlunit</groupId
    3.     <artifactId>htmlunit-core-js</artifactId
    4.     <version>2.9</version
    5.     <scope>compile</scope
    6. </dependency
    7. <dependency
    8.     <groupId>net.sourceforge.htmlunit</groupId
    9.     <artifactId>htmlunit</artifactId
    10.     <version>2.9</version
    11.     <scope>compile</scope
    12. </dependency

    说明:

    Nutch插件:nutch-htmlunit用于替换Nutch自身的Http Fetch组件

  • 相关阅读:
    SpringMVC
    spring-02
    spring-01
    适配器模式
    状态模式
    抽象工厂模式
    观察者模式(发布-订阅模式)
    建造者模式(生成器模式)
    外观模式
    迪米特法则
  • 原文地址:https://www.cnblogs.com/telwanggs/p/6890372.html
Copyright © 2011-2022 走看看