0
点赞
收藏
分享

微信扫一扫

Jsoup的简单使用


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

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

Document doc = null;
try {
doc = Jsoup.connect("javascript:void(0)").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的基本提取信息的功能:

需要提取的文章是:​​javascript:void(0)​​

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

Jsoup的简单使用_javascript

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

<div class="unit">
<h1>
<a href=" 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("javascript:void(0)").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);
}
}

}



举报

相关推荐

0 条评论