.text();
// System.out.println(“descrition—>” + description);
String msg = blogItem.select(“div.article_manage”).text();
// System.out.println(“msg—>” + msg);
String date = blogItem.getElementsByClass(“article_manage”).get(0)
.text();
// System.out.println(“date—>” + date);
String link = BLOG_URL
- blogItem.select(“h1”).select(“a”).attr(“href”);
// System.out.println(“link—>” + link);
item.setTitle(title);
item.setMsg(msg);
item.setContent(description);
item.setDate(date);
item.setLink(link);
item.setType(blogType);
// 没有图片
item.setImgLink(null);
list.add(item);
}
return list;
}
小巫通过class="article_item"获取到所有的元素,也就是Element,然后遍历所有的元素,把每个元素我们需要的值取出来。我们可以定义一个实体类,比如文章项BlogItem,通过创建不同的BlogItem对象,然后最后添加到list当中,我们就可以把所有博文列表保存下拉,下次取的时候,直接通过list来取即可。
我们可以看到使用Jsoup这个库,只需要那么少的代码就可以轻松获取到我们想要的内容,编码、效率啥都有,还等什么,去用吧。
然后获取博文详细内容也是类似的,给定一个url,我们就可以同样的方式去解析html代码:
/**
-
扒取传入url地址的博客详细内容
-
@param url
-
@param str
-
@return
*/
public static List getContent(String url, String str) {
List list = new ArrayList();
// 获取文档内容
Document doc = Jsoup.parse(str);
// 获取class="details"的元素
Element detail = doc.getElementsByClass(“details”).get(0);
detail.select(“script”).remove(); // 删除每个匹配元素的DOM。
// 获取标题
Element title = detail.getElementsByClass(“article_title”).get(0);
Blog blogTitle = new Bl