Jsoup的简单使用

在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);
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值