浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

开源HTML解析工具包jsoup 1.3.1发布

作者 崔康 发布于 2010年8月26日 上午12时35分

社区
 
Java
 
主题
 
XML 数据绑定 , 
开放源代码 , 
Web 2.0 , 
互联网 
标签
 
解析 , 
CSS , 
github , 
HTTP , 
API , 
开源软件 , 
XML

jsoup是一款开源的HTML解析工具包,采用Java语言编写,通过精巧的API充分利用DOM、CSS和类jquery的方法抽取和操作数据。最近,jsoup 1.3.1正式发布,对上一版(1.2.3)做了重要更新,包括完成自主实现(无外部依赖)、改进Web连接方法等。

随着Web应用的不断发展,开发人员有时需要通过HTML解析功能实现客户需求。读者朋友可能对老牌HTML Parser Java库比较熟悉。其实,jsoup也是为了方便开发人员实现HTML解析而刚刚诞生(2010年初发起)的一款工具包。jsoup的主要功能包括:

  • 解析,通过URL、文件或者字符串来分析HTML文档。
  • 查找,通过DOM遍历或者CSS选择器来寻找和抽取数据。
  • 操作,处理HTML元素、属性和文本。
  • 检查,通过白名单机制来保护HTML内容的安全。

jsoup 1.3.1的主要更新包括:

  • 完成了自主实现,在之前的版本中,jsoup依赖于Apache Commons-Lang的一些方法,如HTML内容解析等。在新版中,这些方法完全自主实现,不再需要外部依赖。一方面减少JVM的内存消耗,另一方面有助于开发人员入门。
  • 改进Web连接方法,jsoup现在支持一种方便的connection接口,即Jsoup.connect(String url)。这种方法允许开发人员快捷地创建HTTP请求,包括指定用户代理、cookie、超时等等。方法的返回值可以直接被解析成Document。示例代码如下:
Document doc = Jsoup.connect("http://example.com")
  .data("query", "Java")
  .userAgent("Mozilla")
  .cookie("auth", "token")
  .timeout(3000)
  .post();  
  • 增加了一些便捷方法,如Element.ownText()、Document.OutputSettings.prettyPrint(boolean)等。
  • 改进了文档解析的性能
  • 修补了一些Bug

感兴趣的读者朋友可以下载jsoup试用,查看其使用手册文档说明。jsoup采用MIT协议开源,目前在GitHub上进行开发和维护,喜欢深究的朋友可以在此查看源代码

posted on 2010-08-27 00:51  lexus  阅读(514)  评论(0编辑  收藏  举报