InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 崔康 发布于 2010年8月26日

领域
企业架构,
运维 & 基础架构,
架构 & 设计,
语言 & 开发
主题
CSS ,
Java ,
标识语言 ,
HTTP ,
开源软件 ,
Web 2.0 ,
语言 ,
开放源代码 ,
W3C ,
API ,
规范 ,
编程 ,
解析 ,
XML ,
企业架构 ,
XML 数据绑定 ,
互联网 ,
github

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上进行开发和维护,喜欢深究的朋友可以在此查看源代码

崔康 热情的技术探索者,资深软件工程师,InfoQ编辑,从事企业级Web应用的相关工作,关注性能优化、Web技术、浏览器等领域。

jquery风格的,不错哦! 发表人 hu popoer 发表于
Re: jquery风格的,不错哦! 发表人 崔 康 发表于
明明是Javascript嘛 发表人 liu shimin 发表于
Re: 明明是Javascript嘛 发表人 崔 康 发表于
  1. 返回顶部

    jquery风格的,不错哦!

    发表人 hu popoer

    jquery风格的,不错哦!

  2. 返回顶部

    Re: jquery风格的,不错哦!

    发表人 崔 康

    jsoup作为新生力量,发展得比较快!

    jquery风格的,不错哦!

  3. 返回顶部

    明明是Javascript嘛

    发表人 liu shimin

    是java 还是Javascript?

  4. 返回顶部

    Re: 明明是Javascript嘛

    发表人 崔 康

    是java 还是Javascript?

    您好,jsoup是一套Java库