jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
博客项目有个需求。展示博客列表的时候,显示一些博客里的图片,增强用户体验;
这里的话,有两种方案,第一种 是在后台处理,把解析好的图片存集合里,然后转发到页面,遍历显示;还有一种是把博客内容送到页面,用Jquery处理。
我考虑了下。还是在后台处理好比较好,因为项目本身用到了 cnd加速,所以在前端处理反而影响效率。
在后端处理,可以使用Jsoup,很方便;
Jsoup主页:http://jsoup.org/
maven地址:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
这里给下关键代码:
for(Blog blog:blogList){
List<String> imagesList=blog.getImagesList();
String blogInfo=blog.getContent();
Document doc=Jsoup.parse(blogInfo);
Elements jpgs=doc.select("img[src$=.jpg]"); // 查找扩展名是jpg的图片
for(int i=0;i<jpgs.size();i++){
Element jpg=jpgs.get(i);
imagesList.add(jpg.toString());
if(i==2){
break;
}
}
}
主要涉及到一些选择器。不难。大家可以参考下官方文档。或者百度很容易上手。