# 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;
//属性可以自己添加
}
```