================================ getText:/body================================ getText: ================================getText:/html================================getText:================================除了前面3.2中输出的几个Tag,其余的Tag都在这里了。 3.4 XorFilter 把前面的AndFilter换成NotFilter测试代码: NodeFilter filterID = new HasAttributeFilter( "id" );NodeFilter filterChild = new HasChildFilter(filterA);NodeFilter filter = new XorFilter(filterID, filterChild); 输出结果: getText:div id="top_main"================================ 4.1 NodeClassFilter 这个Filter用于判断节点类型是否是某个特定的Node类型。在 2.1 TagNameFilter TabNameFilter是最容易理解的一个Filter,根据Tag的名字进行过滤。 下面是用于测试的HTML文件:

白泽居-< /head>

???

??? ??? ??? ??? 白泽居-白泽居-???

??? 白泽居-

HTMLParser遍历了网页的内容以后,以树(森林)结构保存了结果。HTMLParser访问结果内容的方法有两种。 使用Filter和使用Visitor。 下面介绍使用Visitor访问内容的方法。 4.1 NodeVisitor 从简单方面的理解,Filter是根据某种条件过滤取出需要的Node再进行处理。Visitor则是遍历 HTMLParser使用详解(4)- 通过Visitor访问 内容树的每一个节点,对于符合条件的节点进行处理。实际的结果异曲同工,两种不同的方法可以达到相同的结果。下面是一个最常见的NodeVisitro的例子。 测试代码: ??? public static void main(String[] args) {??????? try{??????????? Parser parser = new Parser( (HttpURLConnection) (new URL(":8080/HTMLParserTester.html")).openConnection() ); ? NodeVisitor visitor = new NodeVisitor( false, false ) {??????????????? public void visitTag(Tag tag) {?????????????????? message("This is Tag:"+tag.getText());??????????????? }??????????????? public void visitStringNode (Text string)??? {???????????????????? message("This is Text:"+string);??????????????? } ? public void visitRemarkNode (Remark remark) {???????????????????? message("This is Remark:"+remark.getText());???????????????

HTML.parser和正则解析,正则表达式+HTMLParser使用详.ppt相关推荐

  1. HTML.parser和正则解析,HTMLParser 的实现和使用

    1. 概览 HTMLParser 在很多地方都有它施展拳脚的地方, 例如在 Vue 中, Vue 把 template 模板字符串编译成 render 函数的过程就用到了 HTMLParser. 要注 ...

  2. java正则表达式去除xml标签之间的空格_HTML解析器——htmlparser2使用详解,换个姿势解析html和xml

    上一篇文章我们介绍了一个html/xml解析器--htmlparser,这篇文章我们介绍另外一个解析模块htmlparser2,后者是对前者的重构,同时对前者的API做了部分兼容. 用法简介 安装 c ...

  3. 数据解析学习笔记(正则解析、bs4解析、xpath解析)

    聚焦爬虫:爬取页面中指定的页面内容. - 编码流程: - 指定url - 发起请求 - 获取响应数据 - 数据解析 - 持久化存储 数据解析分类: 正则 bs4 xpath(***) 数据解析原理概述 ...

  4. php正则循环,PHP正则解析多重循环模板示例

    本文实例讲述了PHP正则解析多重循环模板.分享给大家供大家参考,具体如下: $str = "客户您好,为您推荐以下项目:(crm{项目2:项目名称} (crm{项目3:项目名称}crm) c ...

  5. 冰冻三尺,非一日之寒。数据解析——正则解析(1)

    正则解析爬取图片 因为讲的是正则解析,而不是正则表达式,所以我就默认大家会正则表达式了.最多在这里给大家看一下正则的语法. 这也是我从B站上截图截下来的.因为我自己都是学的半懂不懂的,实在没那脸说在这 ...

  6. python爬虫正则解析及xpath解析,lxml解析库

    正则解析模块re re模块使用流程 方法一 r_list=re.findall('正则表达式',html,re.S) 方法二 # 1.创建正则编译对象 pattern = re.compile('正则 ...

  7. mysql binlog查看工具_【使用 Rust 写 Parser】4. 解析 binlog

    系列所有文章 PrivateRookie:[使用 Rust 写 Parser]1. 初识 nom​zhuanlan.zhihu.com PrivateRookie:[使用 Rust 写 Parser] ...

  8. HTMLParser 使用详解

    简介 htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或 提取html.它能超高速解析html,而且不会出错.现在htmlparser最新版本为 ...

  9. Spring 是解析配置类过程详解

    Spring执行流程图如下: Spring执行流程图 这个流程图会随着我们的学习不断的变得越来越详细,也会越来越复杂,希望在这个过程中我们都能朝着精通Spring的目标不断前进!  在上篇文章我们学 ...

最新文章

  1. 超强Redis数据类型与应用场景总结!!
  2. 一次线上故障之Java对象的一生简单总结
  3. Python Flask学习知识点(七)
  4. 技术人如何搭建自己的技术博客
  5. JDK源码解析之集合篇2--Collection
  6. SAP CRM产品主数据错误消息Product ID Not in valid range的分析方法
  7. 使命召唤ios_使命召唤的精巧UI:战地
  8. SV processses
  9. 浅谈配网供电可靠性及管理措施
  10. 深度梯度压缩:减小分布式训练的通信带宽
  11. 9008刷机 小米max2_小米Max2解锁教程_小米Max2一键解锁BL的方法
  12. 一批恶意Google Play应用窃取用户银行信息
  13. 试简述smtp通信的三个阶段的过程_对通信技术来说,物联网起了什么样的作用?...
  14. 青少儿科学小实验:水的表面张力
  15. Android系统定位获取经纬度
  16. CTF-安全杂项-BAT公司信息查询系统
  17. 28. 如何使用 SAP OData 服务向 ABAP 服务器上传文本格式和 Excel,PDF 等格式的文件
  18. mac php7 mysql.so_[安装] mac安装PHP7经历
  19. 光敏电阻型号怎么命名和其主要参数
  20. 作用域和自由变量的介绍

热门文章

  1. c#自定义控件资源释放问题_定义资源
  2. neo4j 连接超时_Neo4j:遍历查询超时
  3. apache camel_Apache Camel Intellij IDEA插件的工作已开始
  4. 光盘 机密_使用保险柜管理机密
  5. jdk 9和jdk8_了解有关JDK9紧凑弦乐的信息(视频评论Charlie Hunt)
  6. chameleon 算法_使用Chameleon,Shrinkwrap,Drone / Graphene与Arquillian进行Java EE集成测试...
  7. 绩效工作流_流绩效–您的想法
  8. jaxb xsd生成xml_使用JAXB和Jackson从XSD生成JSON模式
  9. cxf添加拦截器_在CXF API和拦截器中添加Gzip压缩
  10. jetty嵌入式容器_嵌入式Jetty和Apache CXF:借助Spring Security来保护REST服务