`
小网客
  • 浏览: 1243948 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HtmlUnit抓取js渲染页面

 
阅读更多

需求:

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

实现:

基于HtmlUnit实现:

public static void getAjaxPage() throws Exception{
	WebClient webClient = new WebClient();
	webClient.setJavaScriptEnabled(true);
	webClient.setCssEnabled(false);
	webClient.setAjaxController(new NicelyResynchronizingAjaxController());
	webClient.setTimeout(Integer.MAX_VALUE);
	webClient.setThrowExceptionOnScriptError(false);
	HtmlPage rootPage = webClient.getPage("http://tt.mop.com/read_14304066_1_0.html");

	System.out.println(rootPage.asXml());
}

maven依赖:

<dependency>
	<groupId>net.sourceforge.htmlunit</groupId>
	<artifactId>htmlunit-core-js</artifactId>
	<version>2.9</version>
	<scope>compile</scope>
</dependency>
<dependency>
	<groupId>net.sourceforge.htmlunit</groupId>
	<artifactId>htmlunit</artifactId>
	<version>2.9</version>
	<scope>compile</scope>
</dependency>

说明: 

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

 

1
0
分享到:
评论

相关推荐

    通过htmlunit获取执行js代码后的html文档

    4. **执行JavaScript**:在页面加载后,你可以使用`executeJavaScript`方法执行任意JavaScript代码。这个方法返回一个`JavaScriptResult`对象,可以通过`asText`或`asDomNodeList`方法获取结果。 ```java String ...

    高级爬虫进阶:HtmlUnit+多线线程+消息队列快速抓取大量信息数据

    高效的java爬虫,内附代码 sql数据表 ,main方法启动。...避免了jsoup无法抓取js代码生成的数据内容的弊端。避免了client无法一次性获取大量信息的弊端。有能获取静态页面形成之前的对方数据内容的高手 欢迎借阅指导

    htmlunit2.8 + jsoup1.7网站数据抓取

    1. **模拟浏览器行为**:HtmlUnit可以加载整个页面,包括执行JavaScript,使得它能够处理那些依赖JavaScript动态加载内容的网站。 2. **DOM操作**:它提供了对HTML文档对象模型(DOM)的访问,允许开发者通过CSS选择...

    htmlUnit所需jar包

    3. **JavaScript支持**:由于HTML页面经常涉及JavaScript,HTMLUnit内嵌了 Rhino 或 Nashorn JavaScript引擎来处理页面上的脚本。 4. **HTTP客户端库**:可能包含Apache HttpClient或其他类似的库,用于处理网络...

    Htmlunit2.23-bin.zip

    HTMLUnit的核心是基于Jakarta HtmlUnit,这是一个高度可配置的Web客户端模拟器,能够执行JavaScript,解析和渲染HTML页面。它提供了对HTTP协议的支持,包括GET和POST请求,并能够处理cookies和其他会话管理功能。这...

    htmlunit-2.14

    HTMLUnit是一个Java库,它提供了一个无头浏览器模拟器,用于自动化Web页面的测试和抓取。这个库的核心功能是能够解析、渲染和执行JavaScript,从而使得开发者可以在没有实际浏览器环境的情况下,对网页进行功能测试...

    htmlunit依赖jar包

    HTMLUnit是一款功能强大的Java库,它模拟了一个无头Web浏览器,...它简化了网页爬虫的编写,尤其是在处理需要JavaScript渲染的动态网页时。通过理解并正确配置其依赖,你可以有效地利用HTMLUnit进行各种自动化任务。

    htmlunit所需要jar包

    7. **htmlunit-core-js-2.8.jar**:这是HTMLUnit的核心组件,包含了JavaScript引擎,使得HTMLUnit能够执行网页中的JavaScript代码,从而动态地加载和渲染页面。 8. **commons-logging-1.1.1.jar**:Apache Commons ...

    htmlunit参考文档

    1. **网页渲染**:HTMLUnit可以解析和执行HTML、CSS以及JavaScript代码,模拟浏览器的行为,包括页面加载、DOM构建和脚本执行。 2. **网络通信**:通过内建的HTTP客户端,HTMLUnit能够发起HTTP请求,处理响应,并...

    Htmlunit2.8开发文档

    HtmlUnit 是一个强大的Java库,它模拟了一个无头Web浏览器,允许开发者进行自动化测试和网页抓取。在HtmlUnit 2.8版本中,你可以利用它来执行JavaScript、处理Ajax请求,以及与网页上的各种元素交互,而无需实际运行...

    HtmlUnit-2.5(jar  doc)

    1. **JavaScript支持**:尽管大多数静态HTML解析器不处理JavaScript,但HtmlUnit可以执行页面上的JavaScript代码,这使得它能处理动态生成的内容。 2. **无头模式**:由于不需要图形界面,HtmlUnit可以在服务器环境...

    最新htmlunit 2.29

    - **JavaScript支持**:HTMLUnit内建了 Rhino JavaScript 引擎,可以执行页面中的JavaScript代码,这对于测试网页动态行为至关重要。 - **Ajax支持**:HTMLUnit能够处理异步请求,模拟用户触发的Ajax事件,使...

    HtmlUnit 爬虫Demo

    3. **网页渲染**:虽然不提供图形渲染,但它能理解和处理CSS样式,帮助解析页面结构。 4. **异步处理**:支持AJAX请求,可等待异步操作完成后再继续执行其他脚本。 5. **快速高效**:由于不需要图形界面,HtmlUnit比...

    htmlunit-2.39.0-bin.zip

    - htmlunit-core-js.jar:HTMLUnit的JavaScript引擎部分,用于解析和执行页面上的JavaScript代码。 - 其他可能的依赖库:这些库文件可能包含了HTMLUnit运行时所需的额外依赖,如HttpClient库用于网络通信,或者XML...

    htmlunit包

    - **数据抓取**:HTMLUnit可以用于爬虫程序,特别是那些需要处理JavaScript动态内容的网站。 - **性能测试**:在无GUI环境下,HTMLUnit可以帮助评估网站的性能,例如页面加载速度。 操作HTMLUnit的基本步骤如下: ...

    htmlunit-2.15

    使用HTMLUnit,开发者可以构建高效的网络爬虫,特别是在需要处理JavaScript渲染的网页时。此外,由于HTMLUnit运行时不需要完整浏览器环境,所以其速度比使用真实浏览器进行网页抓取快得多,同时资源消耗也相对较小。...

    htmlunit相关jar,例子下载

    `htmlunit-core-js-2.23.jar`包含了HTMLUnit的核心JavaScript引擎,它是基于Rhino和Nashorn JavaScript引擎的。Rhino是Mozilla的一个开源项目,能够使JavaScript在Java环境中运行。Nashorn是Java 8引入的,提供更快...

    java抓取网页数据实现

    还有其他高级话题,如处理JavaScript渲染的页面(可能需要使用如Selenium这样的工具)、反爬虫策略(如设置代理、User-Agent、延迟请求等)、数据存储(如CSV、数据库)以及多线程抓取以提高效率。 在压缩包文件...

    jsoup个人小案例(有结合htmlunit的)

    2. **JavaScript支持**:HtmlUnit能执行JavaScript代码,这对于那些依赖JavaScript渲染的网页特别有用。 3. **网络模拟**:它可以发送HTTP请求,处理响应,模拟Cookie和其他HTTP头部信息。 4. **页面交互**:点击...

    htmlunit-2.27-src.zip

    3. **JavaScript支持**:HTMLUnit内置了Rhino JavaScript引擎,允许它执行网页中的JavaScript代码,这对于动态网页的渲染至关重要。 4. **异常处理**:源码中会有各种异常类,用于捕获和处理在模拟浏览器操作时可能...

Global site tag (gtag.js) - Google Analytics