HtmlUnit的使用

简介

  • HtmlUnit是一个无界面浏览器Java程序。它为HTML文档建模,提供了调用页面、填写表单、单击链接等操作的API。就跟你在浏览器里做的操作一样。

  • HtmlUnit不错的JavaScript支持(不断改进),甚至可以使用相当复杂的AJAX库,根据配置的不同模拟Chrome、Firefox或Internet Explorer等浏览器。

  • HtmlUnit通常用于测试或从web站点检索信息。

HtmlUnit使用场景

  • httpClient的局限性

我们一般可以使用apache的HttpClient组件进行HTML页面信息的获取,HttpClient实现的http请求返回的响应一般是纯文本的document页面,即最原始的html页面。

对于一个静态的html页面来说,使用httpClient足够将我们所需要的信息爬取出来了。但是对于现在越来越多的动态网页来说,更多的数据是通过异步JS代码获取并渲染到的,最开始的html页面是不包含这部分数据的。

通过HtmlUnit库,加载一个完整的Html页面,然后就可以将其转换成我们常用的字串格式,用其他工具如Jsoup来获取其中的元素了。当然也可以直接在HtmlUnit提供的对象中获取网页元素,甚至是操作如按钮、表单等控件。除了不能像可见浏览器一样用鼠标键盘浏览网页之外,我们可以用HtmlUnit来模拟操作其他的一切操作,像登录网站,撰写博客等等都是可以完成的。当然网页内容爬取是最简单的一个应用了。

HtmlUnit的使用相关推荐

  1. html post 图片,如何发送图片作为多部分POST请求的一部分 - Java HtmlUnit

    我正尝试使用Java将验证码提交给decaptcher.com. Decaptcher并没有很好的解释如何使用他们的API,所以我想弄清楚如何使用HTTP POST请求来提交验证码.下面是示例代码,我 ...

  2. 模拟浏览器的神器 - HtmlUnit

    2019独角兽企业重金招聘Python工程师标准>>> 随着Web的发展,RIA越来越多,JavaScript和Complex AJAX Libraries给网络爬虫带来了极大的挑战 ...

  3. 响应时登录html,HtmlUnit:单击不响应时登录HtmlElement

    由于您尚未发布要调用的网址,因此我只能提供一些提示. 即使HtmlUnit在幕后发挥了很多魔力,您也需要对所有Web技术有基本的了解 从代码看来,登录是基于Ajax完成的:这有一些含义:Ajax需要启 ...

  4. java使用htmlunit工具抓取js中加载的数据

    htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容.项目可以模拟浏览器运行,被誉为java浏览器的开源实现.这个没有界面的浏览器,运行速度 ...

  5. htmlunit爬虫工具使用--模拟浏览器发送请求,获取JS动态生成的页面内容

    Htmlunit是一款模拟浏览抓取页面内容的java框架,具有js解析引擎(rhino),可以解析页面的js脚本,得到完整的页面内容,特殊适合于这种非完整页面的站点抓取. 下载地址: https:// ...

  6. htmlunit 发http请求

    2019独角兽企业重金招聘Python工程师标准>>> htmlunit 发http请求 博客分类: java public static WebClient createWebCl ...

  7. HtmlUnit爬取页面列表链接

    场景:爬虫网页列表上的链接,用于再次爬虫,主要功能是列表翻页功能. 代码参考: package com;import com.gargoylesoftware.htmlunit.BrowserVers ...

  8. HtmlUnit自动填写表单并提交

    场景:对网页的表单进行自动填写并提交,如登录框,和文章http://blog.csdn.net/fjssharpsword/article/details/51480475类似,不同的是这次butto ...

  9. HtmlUnit动态执行js函数

    功能:动态指定js函数,实际上这个效果不是很有用,这里就做一个记录而已,参考代码如下: package com; import com.gargoylesoftware.htmlunit.Browse ...

  10. HtmlUnit采集页面信息加工并写入excel表

    1.功能:从网页上采集信息加工,如将商品名字重组(Name2FiveWords函数),并写入excel表,涉及对htmlunit元素定位以及点击重定向. 2.参考代码如下: package com;i ...

最新文章

  1. linux第七章《档案与目录管理》重点回顾
  2. 如何设置鼠标移开后css,如何设置鼠标离开时由hover设置的样式不变?
  3. libgdx 学习笔记一 开发环境搭建
  4. 第四十四节,subprocess系统命令模块
  5. OpenCV无缝克隆不带GUI的模块的实例(附完整代码)
  6. oracle exp cluster n,oracle cluster verfication utility failed
  7. anacoda2如何连接使用mysql_Anaconda 安装 Python 库(MySQLdb)的方法-(转)
  8. 如何解决anaconda出现CondaHTTPError问题
  9. java 设计模式 示例_Java示例中的装饰器设计模式
  10. scrapy 中爬取时被重定向_Scrapy详解之scrapy shell
  11. cudaMemcpy的性能问题
  12. Swift - 使用下划线(_)来分隔数值中的数字
  13. vijos-伊甸园日历游戏
  14. 电视dns服务器修复,电信电视dns遭到劫持的解决方法分享
  15. Typora Beta版过期解决
  16. IDEA快速换行快捷键
  17. 【老生谈算法】matlab实现RLS算法自适应均衡器——RLS算法
  18. java开发一个简单的通讯录
  19. 【Multisim仿真】二极管加正向和反向电压测量实验
  20. 浮点类型的比较,精度控制(float.h的利用 ,DBL_EPSILON)

热门文章

  1. mysql bitmap实现_bitmap原理和应用
  2. Altium Desinger - 生成Gerber文件
  3. 【VideoJs】初识videojs video.js 视频播放器的基本使用 videojs基础用法 videojs视频播放器 vue3中使用videojs
  4. linux 使用svn下载svn仓库内容到本地
  5. Solving environment: failed with initial frozen solve. Retrying with flexible solve.
  6. linux8怎么添加中文输入法,为CentOS8安装中文输入法
  7. Rust 11:错误处理(Option<T>、Result<T,E>、panic、catch_unwind)
  8. 对口高考计算机应用真题,对口高考计算机应用基础总复习试题1
  9. 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】
  10. java中带参数匿名内部类_Java中的匿名内部类