Jsoup的简单使用
2015-12-15 17:05
591 查看
在android上,我们有时候需要获取网站上面的信息,所以就需要解析html文件啦,解析方法可以用Jsoup来完成,方法很简单,总的来说,这个类就之后如下几个很有用的方法:
1.加载指定网站的方法块,返回的是保存了这个网站的所有源代码的Document封装类
2.
获取Elements的第一种方法,从整个Document获取指定class(也就是标签中的class属性)的标签块。
3.
获取Elements的第二种方法,获取整个Document中指定的标签的标签块。
4.另外,通过Element对象也有上面所说的两种方法获取。
5.
获取Elements中所有元素的个数
6.
获取Elements中某个指定的元素,也就是Element
7.
获取指定标签中的指定属性里面的内容
8.
获取指定标签中被标签包住的内容
下面代码演示了Jsoup的基本提取信息的功能:
需要提取的文章是:http://news.csdn.net/
网站中包含了如下想要提取的内容:
因为结构都是一样的,下面我贴出了一个内容:
提取代码如下:
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);
}
}
}
相关文章推荐
- iScroll-js—“smooth scrolling for the web”
- [js开源组件开发]localStorage-cache本地存储的缓存管理
- 给JavaScript初学者的23条最佳实践
- 118 js arale.dialog dialog嵌套时候改变关闭按钮的显示和隐藏状态
- iScroll-js—"smooth scrolling for the web"
- js深入研究之Person类案例
- JavaScript基础(1)prototype方法的理解?
- js深入研究之匿名函数
- 【笔记】js生成随机字母
- EL表达式 + JSTL表达式
- JS之块级作用域
- 原生js的兼容问题总结
- javascript 的prototype 和constructor
- ajax执行domino代理并返回数据(Get方法)
- js深入研究之类定义与使用
- JS事件处理
- JS事件处理
- javascript 杂记1
- JavaScript-json数组排序
- javascript:理解ownerDocument