当前位置:   article > 正文

Springboot-爬虫代码(豆瓣读书)_sprigboot爬虫代码

sprigboot爬虫代码

个人学习需要,自己也不想造大量的数据(太懒~哈哈~),就爬了一下豆瓣读书的数据(感谢豆瓣~)

流程:使用 Java 的 jsoup 对豆瓣读书进行爬虫,保存到本地 mysql 中,再使用 logstash 将 mysql 的数据传输到 elasticsearch

项目源码:https://github.com/Vmetrio/reptile

jsoup官网:https://jsoup.org

豆瓣读书:https://book.douban.com/latest?icn=index-latestbook-all

 

一、创建springboot项目,pom文件引入jsoup的依赖

  1. <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
  2. <dependency>
  3. <groupId>org.jsoup</groupId>
  4. <artifactId>jsoup</artifactId>
  5. <version>1.12.1</version>
  6. </dependency>

 

二、分析豆瓣读书的html页面,写对应的爬虫代码

核心代码:

  1. @GetMapping("/reptile")
  2. public List<Books> Index() throws Exception {
  3. //获取url请求
  4. String url = "https://book.douban.com/latest?icn=index-latestbook-all";
  5. //解析网页,Jsoup返回的是Document对象(浏览器Document对象)
  6. Document document = Jsoup.parse(new URL(url), 30000);
  7. //所有在js中使用的方法,这里都能使用
  8. Element element = document.getElementById("content");
  9. //在获得网页内容后,获取所有的li标签
  10. Elements elements = element.getElementsByTag("li");
  11. ArrayList<Books> booksList = new ArrayList<Books>();
  12. //获取元素的标签后,再获取标签中的内容
  13. for (Element el : elements) {
  14. String bookurl = el.getElementsByClass("cover").attr("href");
  15. String imgurl = el.getElementsByTag("img").attr("src");
  16. String bookname = el.getElementsByTag("h2").eq(0).text();
  17. String author = el.getElementsByClass("color-gray").eq(0).text();
  18. String detail = el.getElementsByClass("detail").eq(0).text();
  19. Books books = new Books();
  20. books.setBookurl(bookurl);
  21. books.setImgurl(imgurl);
  22. books.setBookname(bookname);
  23. books.setAuthor(author);
  24. books.setDetail(detail);
  25. booksList.add(books);
  26. }
  27. return booksList;
  28. }

 

三、测试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/903081
推荐阅读
相关标签
  

闽ICP备14008679号