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

================================ 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());???????????????
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值