1. 豆瓣图书最受关注
1.1 创建SpringBoot项目或者Maven项目
1.2 引入jsoup
<dependency><!-- jsoup HTML parser library @ https://jsoup.org/ --><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.15.3</version></dependency>
注意版本一定是1.15.3,1.15.4可能无法获取信息
1.3 爬取信息
先找到豆瓣图书网址
豆瓣
先找到整个布局的部分,list-col2,里面存储着相应的元素标签
所以document的select标签就是ul.list-col2 li,意思是选择ul里面标签list-col2,然后选择里面的li
li里面分成两个部分,包含cover和info,我这里取出info里面的信息
标题通过h4.title里面的a标签获取
作者直接通过p.author获取
里面的评分需要两层获取,先获取p标签,然后获取limian的span标签p.entry-star-small span.average-rating
public BaseResponse<String> famousDouBanBook(){String url = "https://book.douban.com/";Document document = null;try {document = Jsoup.connect(url).get();} catch (IOException e) {e.printStackTrace();}System.out.println(document);Elements elements = document.select("ul.list-col2 li");for (Element element : elements) {String title = element.select("h4.title a").text();String coverUrl = element.select("div.cover img").attr("src");String rate = element.select("p.entry-star-small span.average-rating").text();;String author = element.select("p.author").text();System.out.println("书名:" + title);System.out.println("封面:" + coverUrl);System.out.println("评分:" + rate);System.out.println("作者:" + author);System.out.println("------------------------");}return ResultUtils.success("ok");}
可以采用创建相关的实体类来存储信息。