• HtmlParser读书笔记


    1,Node有三种实现,分别是RemarkNode,用于保存注释。TextNode也很简单,就是用户可见的文字信息。TagNode是最复杂的,包含了HTML语言中的所有标

    签,而且可以扩展放入。TagNode包含两类,一类是简单的Tag,实际就是不能包含其他Tag的标签,只能做叶子节点。另一类是CompositeTag,就是可以包含其他Tag,是分支节点。

     

    2,Node中包含的方法有几类:

    对于树型结构进行遍历的函数,这些函数最容易理解:

    Node getParent ():取得父节点  NodeList getChildren ():取得子节点的列表  Node getFirstChild ():取得第一个子节点

    Node getLastChild ():取得最后一个子节点  Node getPreviousSibling ():取得前一个兄弟  Node getNextSibling ():取得下一个兄弟节点

    取得Node内容的函数:

    String getText ():取得文本  String toPlainTextString():取得纯文本信息。  String toHtml () :取得HTML信息(原始HTML)

    String toHtml (boolean verbatim):取得HTML信息(原始HTML)  String toString ():取得字符串信息(原始HTML)

    Page getPage ():取得这个Node对应的Page对象  int getStartPosition ():取得这个Node在HTML页面中的起始位置

    int getEndPosition ():取得这个Node在HTML页面中的结束位置

    用于Filter过滤的函数:

    void collectInto (NodeList list, NodeFilter filter):基于filter的条件对于这个节点进行过滤,符合条件的节点放到list中。

    用于Visitor遍历的函数:

    void accept (NodeVisitor visitor):对这个Node应用visitor

    用于修改内容的函数,这类用得比较少:

    void setPage (Page page):设置这个Node对应的Page对象  void setText (String text):设置文本  

    void setChildren (NodeList children):设置子节点列表

    其他函数:

    void doSemanticAction ():执行这个Node对应的操作(只有少数Tag有对应的操作)  Object clone ():接口Clone的抽象函数。

    参考网址:http://allenj2ee.iteye.com/blog/222455

    3,Filter类

    Filter就是对于结果进行过滤,取得需要的内容。HTMLParser在org.htmlparser.filters包之内一共定义了16个不同的Filter,也可以分为几类。

    判断类Filter:

    TagNameFilter  HasAttributeFilter  HasChildFilter  HasParentFilter  HasSiblingFilter  IsEqualFilter

    逻辑运算Filter:

    AndFilter  NotFilter  OrFilter  XorFilter

    其他Filter:

    NodeClass  FilterStringFilter  LinkStringFilter  LinkRegexFilter  RegexFilter  CssSelectorNodeFilter

    所有的Filter类都实现了org.htmlparser.NodeFilter接口。这个接口只有一个主要函数:

    boolean accept (Node node)

    参考网址:http://blog.csdn.net/yanjun_xiaoli/article/details/4291865

  • 相关阅读:
    携程 去呼呼 Odoo SSO 单点登录
    Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持 & Spring Data Moore M2
    全球顶尖AI技术 微软CRM X 销售易CRM Gartner魔力象限
    职场的真相——七句话
    东软 UniEAP SaCa DataViz & Report
    UML建模——活动图(Activity Diagram)
    领域驱动设计(DDD)部分核心概念
    阿里云RPA4.0背后的黑科技
    Open Source In-Memory Computing Platform
    Mac OS X ifconfig命令解释
  • 原文地址:https://www.cnblogs.com/zhongwh/p/2575756.html
Copyright © 2020-2023  润新知