使用Jsoup解析出html中的img元素

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

博客项目有个需求。展示博客列表的时候,显示一些博客里的图片,增强用户体验;

这里的话,有两种方案,第一种 是在后台处理,把解析好的图片存集合里,然后转发到页面,遍历显示;还有一种是把博客内容送到页面,用Jquery处理。

我考虑了下。还是在后台处理好比较好,因为项目本身用到了 cnd加速,所以在前端处理反而影响效率。

在后端处理,可以使用Jsoup,很方便;

Jsoup主页:http://jsoup.org/

maven地址:

1     <dependency>
2         <groupId>org.jsoup</groupId>
3         <artifactId>jsoup</artifactId>
4         <version>1.10.2</version>
5     </dependency>

这里给下关键代码:

 1 for(Blog blog:blogList){
 2             List<String> imagesList=blog.getImagesList();
 3             String blogInfo=blog.getContent();
 4             Document doc=Jsoup.parse(blogInfo);
 5             Elements jpgs=doc.select("img[src$=.jpg]"); // 查找扩展名是jpg的图片
 6             for(int i=0;i<jpgs.size();i++){
 7                 Element jpg=jpgs.get(i);
 8                 imagesList.add(jpg.toString());
 9                 if(i==2){
10                     break;
11                 }
12             }
13         }

主要涉及到一些选择器。不难。大家可以参考下官方文档。或者百度很容易上手。

原文地址:https://www.cnblogs.com/wishwzp/p/7068261.html