SpringBoot中如何实现使用Jsoup爬取网站数据

这篇文章主要为大家展示了SpringBoot中如何实现使用Jsoup爬取网站数据,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

创新互联-专业网站定制、快速模板网站建设、高性价比三明网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式三明网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖三明地区。费用合理售后完善,十载实体公司更值得信赖。

爬取数据

导入jar包

 
    1.8
    7.6.1
  
 
  
    
      org.jsoup
      jsoup
      1.10.2
    
    
      com.alibaba
      fastjson
      1.2.62
    
    
      org.springframework.boot
      spring-boot-starter-data-redis
    
    
      org.springframework.boot
      spring-boot-starter-data-elasticsearch
    
    
      org.springframework.boot
      spring-boot-starter-thymeleaf
    
    
      org.springframework.boot
      spring-boot-starter-web
    
 
    
      org.springframework.boot
      spring-boot-devtools
      runtime
      true
    
    
      org.springframework.boot
      spring-boot-configuration-processor
      true
    
    
      org.projectlombok
      lombok
      true
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
      
        
          org.junit.vintage
          junit-vintage-engine
        
      
    
  

新建实体类

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Content {
  private String title;
  private String img;
  private String price;
}

编写爬虫工具类

public class HtmlParseUtil {
  public static void main(String[] args) throws Exception {
    new HtmlParseUtil().parseDDJJ("包").forEach(System.out::println);
  }
 
  public List parseDDJJ(String keywords) throws Exception {
    //爬取url地址
    String url = "https://search.xxxx.com/Search?keyword="+keywords;
    //解析网页,30s内未爬取成功,打印错误
    Document document = Jsoup.parse(new URL(url),30000);
    //获取每一本书籍的id
    Element element = document.getElementById("DJ_goodsList");
    //获取所有的li标签
    Elements elements = element.getElementsByTag("li");
 
    ArrayList goodsList = new ArrayList<>();
 
    //遍历li标签的内容
    for (Element el : elements) {
      String img = el.getElementsByTag("img").eq(0).attr("src");
      String price = el.getElementsByClass("p-price").eq(0).text();
      String title = el.getElementsByClass("p-name").eq(0).text();
 
      Content content = new Content();
      content.setTitle(title);
      content.setPrice(price);
      content.setImg(img);
      goodsList.add(content);
    }
    return goodsList;
  }
}

以上就是关于SpringBoot中如何实现使用Jsoup爬取网站数据的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。


分享标题:SpringBoot中如何实现使用Jsoup爬取网站数据
本文来源:http://pwwzsj.com/article/pidigs.html