`
gcgmh
  • 浏览: 348931 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HtmlCleanner结合xpath用法

阅读更多
        HtmlCleaner cleaner = new HtmlCleaner();   
        
        TagNode node = cleaner.clean(new URL("http://finance.sina.com.cn/money/nmetal/20091209/10157077895.shtml"));   
        //按tag取.   
        Object[] ns = node.getElementsByName("title", true);    //标题   
        
        if(ns.length > 0) {   
            System.out.println("title="+((TagNode)ns[0]).getText());   
        }   
        // /html/body/div[2]/div[4]/div/div/div/div[2]/p
        ns = node.evaluateXPath("//div[@class=\"blkContainerSblkCon\"]/p"); //选取class为指定blkContainerSblkCon的div下面的所有p标签
        for (int i = 0; i < ns.length; i++) {
        	 String in = cleaner.getInnerHtml((TagNode)ns[i]);
             System.out.println("<p>"+in + "</p>");
		}
        String in = cleaner.getInnerHtml((TagNode)ns[0]);
        System.out.println(in);

        System.out.println(((TagNode)ns[0]).getText()); 



        HtmlCleaner cleaner = new HtmlCleaner();   
        String url = "http://finance.sina.com.cn/nmetal/hjfx.html";
        URL _url = new URL(url);
        TagNode node = cleaner.clean(_url);   
        
        //按tag取.   
        Object[] ns = node.getElementsByName("title", true);    //标题   
        
        if(ns.length > 0) { 
            System.out.println("title="+((TagNode)ns[0]).getText());   
        }  
        
        
        ns = node.evaluateXPath("//*[@class='Frame-Row3-01-C']/table[2]/tbody/tr/td/a"); //选取class为指定blkContainerSblkCon的div下面的所有p
        for (int i = 0; i < ns.length; i++) {
        	
        	//取链接文本
//        	 String in = cleaner.getInnerHtml((TagNode)ns[i]);
//           System.out.println(in);
        	
        	//获取链接的
        	TagNode n = (TagNode) ns[i];
//        	System.out.println(n.getAttributeByName("href"));
        	System.out.println(new URL(_url,n.getAttributeByName("href")).toString());
		}
//        String in = cleaner.getInnerHtml((TagNode)ns[0]);
//        System.out.println(in);

//        System.out.println(((TagNode)ns[0]).getText());
        
//        System.out.println("ul/li:");   
//        //按xpath取   
//        ns = node.evaluateXPath("//div[@class='d_1']//li");   
//        for(Object on : ns) {   
//            TagNode n = (TagNode) on;   
//            System.out.println("\ttext="+n.getText());   
//        }   
//        System.out.println("a:");   
//        //按属性值取   
//        ns = node.getElementsByAttValue("name", "my_href", true, true);   
//        for(Object on : ns) {   
//            TagNode n = (TagNode) on;   
//            System.out.println("\thref="+n.getAttributeByName("href")+", text="+n.getText());   
//        }   
    




XPath文档:http://www.w3school.com.cn/xpath/xpath_syntax.asp
分享到:
评论

相关推荐

    XPath教程(描述XPath的用法)

    XPath:描述了XPath的用法,XPath多应用于XML文件的解析,这是一个非常棒的文档!

    XPath 使用方法

    xpath的使用方法

    Sax解析结合Xpath的用法

    NULL 博文链接:https://xuehaipeng.iteye.com/blog/675904

    xpath-helper 插件及使用方法

    XPath Helper可以支持在网页点击元素生成xpath,整个抓取使用了xpath、正则表达式、消息中间件、多线程调度框架的chrome插件。

    scrapy中xpath示例用法

    几乎涵盖了所有scrapy中xpath的用法

    Xpath生成器,自动生成XPATH,C#版

    Xpath生成器,自动生成可用的Xpath

    dom4j中XPath用法

    NULL 博文链接:https://wangweiwei358.iteye.com/blog/764548

    Dom4j结合XPath解析XML文件路径表达式

    XML节点访问的路径表达式【相对路径】和【绝对路径】的匹配原则

    XPath教程

    介绍XSL语法中Xpath的使用方法

    xpath定位,xpath定位,xpath定位

    Selenium xpath,

    xpath-helper.zip

    xpath-helper

    XPath基础用法详解

    xpath简介、教程、Axes、节点、实例、语法、运算符

    经典xpath教材打包

    使用XPath的目的:为了在匹配XML文档结构时能够准确地找到某一个节点元素。可以把XPath比作文件管理路径,通过文件管理路径,可以按照一定的规则查找到所需要的文件;同样,依据XPath所制定的规则,也可以很方便地...

    Xpath指南XPATH实例

    网上找的很好的XPATH指南,里面包含了22个实用例子,看完后,XPATH就懂了。

    IE下获取XPATH小工具源码_xpath_

    C#小工具箱 IE下获取XPATH小工具源码

    JsoupXpath

    整理JsoupXpath( https://github.com/zhegexiaohuozi/JsoupXpath)是一款纯Java开发的使用xpath解析提取html内容的解析器,xpath语法分析与执行完全独立,html的DOM树生成借助Jsoup,故命名为JsoupXpath. 为了在java...

    C#中使用XPath的方法(最精减)

    Xpath是功能很强大的,但是也是相对比较复杂的一门技术,最好还是到博客园上面去专门找一些专业的帖子来看一看,下面是一些简单的Xpath语法和一个实例,提供给你参考一下. 对于用C#来开发XML的兄弟特别有帮助

    XPath jar

    XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。 因此,对 XPath 的理解是很多...

    xpath-helper for MAC

    Xpath helper 2.0.2,适用于MAC版, 提供的了压缩包,下载后,解压缩-打开chrome-&gt;更多工具-&gt;扩展程序-&gt;加载已经解压的扩展程序-&gt;找到解压的文件夹选中,此时会发现地址栏后面多了一个“X”的图标...Xpath就可以使用了

    Xpath生成器,自动生成可用的Xpath。

    Xpath生成器,可以通过输入的文件,进行匹配,生成全部可用的Xpath,犹豫HTML中部分标签允许无结束,如:("LINK" ,"META","SCRIPT","IMG" ,"INPUT", "FORM")故已经被忽略,如有朋友发现其中有问题,请告诉我哦...

Global site tag (gtag.js) - Google Analytics