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]