ordinary 发表于 2013-2-7 19:02:46

jsoup使用

 
<div style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: #ffffff; margin: 8px;">
       jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。请参考:http://jsoup.org/
 
 
     jsoup的主要功能如下:
 
      从一个URL,文件或字符串中解析HTML;
      使用DOM或CSS选择器来查找、取出数据;
      可操作HTML元素、属性、文本;
      jsoup是基于MIT协议发布的,可放心使用于商业项目。
     下载和安装:
      maven安装方法:
       把下面放入pom.xml下
        <dependency>
          <!-- jsoup HTML parser library @ http://jsoup.org/ -->
         <groupId>org.jsoup</groupId>
         <artifactId>jsoup</artifactId>
         <version>1.5.2</version>
        </dependency>
      用jsoup解析html的方法如下:
        解析url html方法
 
Document doc = Jsoup.connect("http://example.com")  .data("query", "Java")  .userAgent("Mozilla")   .cookie("auth", "token")  .timeout(3000)  .post(); 
      从文件中解析的方法:
 
 
File input = new File("/tmp/input.html");Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); 
 
  类试js  jsoup提供下面方法:
 

[*]getElementById(String id) 用id获得元素
[*]getElementsByTag(String tag) 用标签获得元素
[*]getElementsByClass(String className) 用class获得元素
[*]getElementsByAttribute(String key)  用属性获得元素
 
 同时还提供下面的方法提供获取兄弟节点:
 siblingElements(), firstElementSibling(), lastElementSibling();nextElementSibling(), previousElementSibling()
用下面方法获得元素的数据:
 

[*]attr(String key)  获得元素的数据
[*]attr(String key, String value) t设置元素数据
[*]attributes() 获得所以属性
[*]id(), className()  classNames() 获得id class得值
[*]text()获得文本值
[*] text(String value) 设置文本值
[*]html() 获取html 
[*] html(String value)设置html
[*]outerHtml() 获得内部html
[*]data()获得数据内容
[*]tag()  获得tag 和 tagName() 获得tagname
 
操作html提供了下面方法:
 

[*]append(String html), prepend(String html)
[*]appendText(String text), prependText(String text)
[*]appendElement(String tagName), prependElement(String tagName)
[*]html(String value)
通过类似jquery的方法操作html
页: [1]
查看完整版本: jsoup使用