我们的老规矩。。。遇到新知识,先导依赖
compile 'org.jsoup:jsoup:1.9.2'
Jsoup支持对html的解析,我们随便找个网站,查看他的源码
这个时候可以开始解析
我们现在Activity中,创建一个子线程(Jsoup请求的是网络数据,需要联网权限,同时是耗时操作)
new Thread(){
@Override
public void run() {
super.run();
try {
这里是从一个URL加载一个Document
connect(String url) 方法创建一个新的 Connection, 和 get() 取得和解析一个HTML文件
Document doc = Jsoup.connect("http://home.meishichina.com/show-top-type-recipe.html").get();
可以用select去选择我们要解析那个节点下的内容
Elements e1 = doc.select("div.top-bar");
String attr = e1.select("a").attr("title");
元素数据
attr(String key)获取属性attr(String key, String value)设置属性
attributes()获取所有属性
id(), className() and classNames()
text()获取文本内容text(String value) 设置文本内容
html()获取元素内HTMLhtml(String value)设置元素内的HTML内容
outerHtml()获取元素外HTML内容
data()获取数据内容(例如:script和style标签)
tag() and tagName()
如果节点下是很多的内容,可以用循环全部解析出来
Elements e2 = doc.select("div.detail");
for (int i =0;i<5;i++){
String href = e1.select("a").get(i).attr("href");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();