`
风过无声
  • 浏览: 87945 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jsoup简单封装

 
阅读更多

1.jsoup简介

jsoup 是一款Java 的HTML解析器。

2.特点

它提供了一套非常省力的API,可通过类似于jQuery的操作方法来取出和操作数据。

区别:

1):eq(n)

jsoup:元素在父元素中的index

selector:元素在结果集中的index

3.封装的目的

把数据提取和业务逻辑分离开来,使代码更清晰,易懂,便于维护

4.组件图


Extractor:对jsoup的简单封装,依赖与jsoup和Apache Commons库

Spring:实现了与Spring的集成

Digester+XSD:实现了核心类HTMLExtractor的XML配置

5.类图

HTMLExtractor:核心类,解析HTML页面的入口

BeanExtractor:将HTML元素解析为一简单的JAVABEAN,暂不支持有参构造方法

ListExtractor:将HTML元素解析为一List对象

PropertyExtractor:将HTML元素解析为一JAVA基本类型对象或者Date对象

 6.简单的处理流程


PageProcessor:用于处理某一类型的页面,可能会调用其它的PageProcessor

HTMLExtractor:用于解析该类型页面,提取出相关数据

Convertor:将HTMLExtractor提取出来的数据转化了内部可用的JAVABean,其中可能会调用Service

Service:对JAVABean进行处理的业务逻辑

7.问题

开始以为封装的HTMLExtractor能够实现从页面到JAVABean的直接转化,在实践中发现目标JAVABean的属性在HTML页面中经常和其它的属性或者其它提示性文字混合在一起呈现,无法直接转化,并且某些属性可能会依赖于Service在已有数据中进行获取。

8.结论

对jsoup的简单封装实现虽然使代码更清晰,易懂,但是由于属性进行了两次set,第一次在HTMLExtractor中,第二次在Convertor中,降低了抓取效率,但是个人觉得是值得的。

9.源代码

附件中的jsoup.rar

  • 大小: 22.5 KB
  • 大小: 7 KB
  • jsoup.rar (74.4 KB)
  • 描述: jsoup简单封装源代码
  • 下载次数: 28
  • 大小: 6 KB
分享到:
评论
1 楼 Ql211 2015-05-09  
非常赞,正是自己需要的,感谢分享。

相关推荐

    jsoup-1.8.3

    java用于html解析的开源工具,jsoup封装了一些方法,非常简单,语法跟js有点像

    JAVA上百实例源码以及开源项目源代码

    简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 ...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包6

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包5

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包4

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包8

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包7

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包9

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包101

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    Java资源包01

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    JAVA上百实例源码以及开源项目

    一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码...

Global site tag (gtag.js) - Google Analytics