HTMLUnit进行模拟浏览器抓取优劣
来源:互联网 发布:增加力量 知乎 编辑:程序博客网 时间:2024/06/05 01:08
近期需要抓取一些数据,而这些数据都是需要从后台进行异步请求获取的。故图个方便使用了HtmlUnit这个开源工具进行开发。现整理一下其优劣点:
优点:
1.可以模仿浏览器对服务器进行请求,能够抓取几乎网络上浏览器能看到的所有信息。
2.用户操作接口比较便捷,比如click、focus等元素事件可直接在获取DOMElement等元素对象后直接使用。
3.上手比较快,按照用户操作浏览器习惯,逻辑清晰、代码易开发。
4.抓取成功率高,不易被网站拉入黑名单。
缺点:
1.获取元素对象方式不够丰富,如没有根据属性和值以及class等获取元素集的接口。
2.操作速度比较慢,当然这也恰好可以不被有反爬虫机制的网站拉入黑名单。
对于缺点1,因此一般可以利用HtmlUnit和Jsoup组合进行开发,Jsoup操作可以仿照jQuery进行,获取元素接口丰富。
但是从HtmlUnit的元素对象可以根据asXml()转化为String类型,然后根据Jsoup的 Jsoup.parse(String html)方法进行转化。反之则不可(也可能自己没有深入学习,如有错误敬请指出。)
对于缺点2,则是几乎不能避免,浏览器请求服务器后台也需要时间,为了提升抓取的成功率,在请求前,设置:.client.setAjaxController(new NicelyResynchronizingAjaxController());以及在请求数据的操作后添加:client.waitForBackgroundJavaScript(10000);
0 0
- HTMLUnit进行模拟浏览器抓取优劣
- 利用HtmlUnit 模拟浏览器抓取网页数据
- Htmlunit 创建webclient 模拟浏览器进行解析页面
- 模拟浏览器的神器 - HtmlUnit
- HtmlUnit 模拟浏览器以及Cookie使用示例
- 模拟浏览器抓取网页
- HtmlUnit模仿浏览器抓取数据(含ajax)
- HtmlUnit模仿浏览器抓取数据(含ajax)
- 使用HtmlUnit模拟浏览器执行JS来获取网页内容
- htmlunit模拟浏览器实现163邮箱自动登录
- 用htmlunit模拟浏览器辅助python做页面爬虫
- HtmlUnit实现模拟浏览器点击按钮的效果
- htmlunit模拟注册
- htmlunit 模拟登陆 https
- htmlunit 模拟功能
- htmlunit+Jsoup实现网页抓取
- python模拟浏览器登录淘宝抓取内容
- python中模拟浏览器抓取网页(-)
- Java imageIO处理图像
- 树型菜单的制作
- 半导体三极管基础知识
- linux命令学习
- 出名的网络IT技术更新网站导航整理
- HTMLUnit进行模拟浏览器抓取优劣
- 选择排序
- C#DataGridView单元格Header背景颜色设置
- 关于include里加入根目录的问题
- jquery基础(7)动画特效
- NGUI与3d模型的<三明治>问题
- 哈理工练习赛 UVALive 5093 F - Seaside(最短路)
- fir.im Weekly - 每个程序员都应当拥有的技能树
- Python线程指南