# JavaReptile **Repository Path**: zwtgit/java-reptile ## Basic Information - **Project Name**: JavaReptile - **Description**: 详情请见:https://www.cnblogs.com/zwtblog/p/15216808.html Jsonup爬取测试数据,为ES仿京东搜索来爬取测试数据。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-09-01 - **Last Updated**: 2022-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 博客地址:https://www.cnblogs.com/zwtblog/p/15216808.html 项目地址:https://gitee.com/zwtgit/java-reptile 导入依赖,写一个工具类 ```xml org.jsoup jsoup 1.10.2 ``` 写对应的实体类 ```java package com.zwt.utils; import com.zwt.pojo.Content; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; public class HtmlParseUtil { public static void main(String[] args) throws IOException { //test new HtmlParseUtil().parseJD("贝贝").forEach(System.out::println); } public List parseJD(String keywords) throws IOException { //获得请求 https://search.jd.com/Search?keyword=java //联网 ajax需要模拟浏览器才可以获取 String url = "https://search.jd.com/Search?keyword=" + keywords; //解析网页,返回的就是Document对象 Document document = Jsoup.parse(new URL(url), 30000); //所有JS中的方法这里都可以使用 Element element = document.getElementById("J_goodsList"); // System.out.println(element.html()); ArrayList goodsList = new ArrayList<>(); //找到所有的列元素 Elements elements = element.getElementsByTag("li"); //这里的el就是每一个列标签 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(); // System.out.println("爬取京东的数据结果:"); // System.out.println("=========================================="); // System.out.println(img); // System.out.println(price); // System.out.println(title); Content content = new Content(); content.setTitle(title); content.setPrice(price); content.setImg(img); goodsList.add(content); } return goodsList; } } ``` 封装工具类 ```java package com.zwt.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class Content { private String title; private String img; private String price; //属性可以自己添加 } ```