您的位置:首页 > Web前端 > JavaScript

Jsoup的简单使用

2015-12-15 17:05 591 查看
在android上,我们有时候需要获取网站上面的信息,所以就需要解析html文件啦,解析方法可以用Jsoup来完成,方法很简单,总的来说,这个类就之后如下几个很有用的方法:

1.加载指定网站的方法块,返回的是保存了这个网站的所有源代码的Document封装类

Document doc = null;
try {
doc = Jsoup.connect("http://news.csdn.net/").get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


2.

Elements elements = doc.getElementsByClass("unit");


获取Elements的第一种方法,从整个Document获取指定class(也就是标签中的class属性)的标签块。

3.

doc.getElementsByTag("")


获取Elements的第二种方法,获取整个Document中指定的标签的标签块。

4.另外,通过Element对象也有上面所说的两种方法获取。

5.

elements.size()


获取Elements中所有元素的个数

6.

Element element = elements.get(i);


获取Elements中某个指定的元素,也就是Element

7.

element.getElementsByTag("a").attr("href")


获取指定标签中的指定属性里面的内容

8.

element..getElementsByTag("a").text()


获取指定标签中被标签包住的内容

下面代码演示了Jsoup的基本提取信息的功能:

需要提取的文章是:http://news.csdn.net/

网站中包含了如下想要提取的内容:



因为结构都是一样的,下面我贴出了一个内容:

<div class="unit">
<h1>
<a href="http://www.csdn.net/article/2015-12-15/2826474" target="_blank">如果你希望开源未来能更好,那么欢迎来帮助开源“进步”</a>
</h1>
</div>


提取代码如下:

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
Document doc = null; try { doc = Jsoup.connect("http://news.csdn.net/").get(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
//获取网站中所有标签中class=unit的整个标签
Elements elements = doc.getElementsByClass("unit");
Element element = null;
for (int i = 0; i < elements.size(); i++) {
//遍历elements中的所有元素
element = elements.get(i);
String href1 = element.getElementsByTag("h1").get(0).getElementsByTag("a").attr("href");
System.out.println(href1);
String title = element.getElementsByTag("h1").get(0).getElementsByTag("a").text();
System.out.println(title);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: