需求:

需要采集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. System.out.println(rootPage.asXml());
  10. }

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组件

转载于:https://www.cnblogs.com/telwanggs/p/6890372.html

Java使用HtmlUnit抓取js渲染页面相关推荐

  1. htmlunit抓取js执行后的网页源码

    上次我不是写了一个自动抓取博客访问量吗 (点击打开链接) 可是昨天晚上我又运行的时候,发现不能用了.. 运行了几次 发现使用URLConnection 得到的网页源码和浏览器直接查看的不同. URLC ...

  2. htmlUnit的读取js渲染的页面

    htmlUnit的读取js渲染的页面 我这边有个这么的需求,要求前端每次上版本的时候,有一个版本号.然后后端去爬前端,比较禅道的版本发布计划,如果发布计划和生产上的版本号不一致,就告警. 这个跟后端的 ...

  3. js动态渲染html页面,利用Scrapy-Splash抓取JS动态渲染的网页数据

    随着越来越多的网站开始用JS在客户端浏览器动态渲染网站,导致很多我们需要的数据并不能由原始的html中获取,再加上Scrapy本身并不提供JS渲染解析的功能,通常对这类网站数据的爬取我们一般采用两种方 ...

  4. webmagic ajax,【WebMagic】抓取前端渲染的页面

    随着AJAX技术不断的普及,以及现在AngularJS这种Single-page application框架的出现,现在js渲染出的页面越来越多.对于爬虫来说,这种页面是比较讨厌的:仅仅提取HTML内 ...

  5. 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...

    在线演示  本地下载 如果你曾经开发过内容聚合类网站的话,使用程序动态整合来自不同页面或者网站内容的功能肯定对于你来说非常熟悉.通常使用java的话,我们都会使用到一些HTML的解析,例如,httpp ...

  6. 招聘数据爬取、数据处理与可视化(v2--解析JS渲染页面)

    招聘数据爬取.数据处理与可视化(v2--解析JS渲染页面) 更新说明 程序说明 数据爬取 观察网页结构 页面解析 将数据写入csv文件中 通过观察页面链接,爬取所有页面 爬虫程序完整代码 爬取数据结果 ...

  7. java+selenium自动化抓取51la数据

    java+selenium自动化抓取51la数据 初衷 环境依赖 demo上代码 效果来个马赛克 如果觉得写的不错或者想了解更多,欢迎收藏和关注~~ 初衷 前端埋点51la,进行网站统计.51la没有 ...

  8. 如何使用HtmlUnit 抓取网页中手机版模式?

    HtmlUnit 抓取网页中手机版模式? 方式方法: 地址要正确,体现在你抓取的页面是不是PC版 or 手机版模式的URL地址 PC 和 手机版的页面样式肯定也是不一样的,所以下载的样式要一致,包括页 ...

  9. C#利用phantomJS抓取AjAX动态页面

    在C#中,一般常用的请求方式,就是利用HttpWebRequest创建请求,返回报文.但是有时候遇到到动态加载的页面,却只能抓取部分内容,无法抓取到动态加载的内容. 如果遇到这种的话,推荐使用phan ...

最新文章

  1. ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例
  2. android 详细构建过程,Android构建模块详细步骤概述
  3. 这是我见过最全面的Python装饰器详解!没有学不会这种说法
  4. asp.net中session的原理及应用
  5. python需要配置环境变量吗_w10版本python怎样设置环境变量
  6. mysql如何通过数据库修改root_MySQL数据库之MySQL——修改root密码的4种方法(以windows为例)...
  7. Centos使用yum极速安装Java 1.8
  8. Pytorch基础(一) 初始tensor
  9. linux csi 摄像头,A20 linux(dragonboard)同时使用Parallel CSI Camera及UVC
  10. 十字链表实现稀疏矩阵,包含十二大功能
  11. 中标2020中国联通数据设备集采项目,中兴通讯备受鼓舞
  12. FusionChartsFree在JSP中的用法
  13. 还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:...
  14. [BZOJ1776] [Usaco2010 Hol]cowpol 奶牛政坛
  15. php模板修改教程,商业模板修改高级教程
  16. Dns异常 手动无法修改?
  17. 不错的U3D第一人称射击类游戏教程
  18. Kaggle ICML2013 fer2013人脸表情识别/面部表情识别:训练、调优、调试与踩坑
  19. 齐博x1新用户手工注册接口
  20. python在vsc制作动态二维码_用VScode愉快的写python代码

热门文章

  1. 患者数据库mysql_关系型数据库之MySQL基础总结_part1
  2. (86)FPGA读文件激励(readmemh)
  3. (3)zynq FPGA AXI4_Stream总线介绍
  4. html 中avi视频插件,JDG让一追二击败V5!Kanavi降维打击,逆版本选英雄不按常理出牌...
  5. wxpython 基本的控件 (按钮)
  6. java flink项目_IDEA上运行Flink任务的实战教程
  7. python中config命令_python的logging.config使用详解
  8. 【MATLAB、深度学习】AlexNet及VGG神经网络在MATLAB上的应用
  9. C++ - 深入理解new
  10. JDK1.8的新特性详解