2.工具类org.jsoup jsoup1.13.1
解析网页,拿到数据,放到list集合里面
public List3.相关实体类parseJD(String keyword) throws IOException { List contentList = new ArrayList<>(); //获得请求 String url = "https://search.xx.com/Search?keyword="+keyword; //解析地址,如果30s内解析不到就会报错 // jsoup返回的 document 对象就是 js浏览器里面的document对象 document parse = Jsoup.parse(new URL(url), 30000); //先获取id=J_goodsList的大的一个商品div Element elementById = parse.getElementById("J_goodsList"); //再获取包含一个个商品的li标签 Elements li = elementById.getElementsByTag("li"); //循环这个li,这里的li包含的就是一个个商品,商品有价格,名称,店铺名,图片地址等等 for (Element element : li) { //为了用户体验,一般大厂的网页图片都懒加载,刚开始只会加载一个默认图片,正在的图片地址在这个data-lazy-img 里面,而不是在src里面 String img = element.getElementsByTag("img").eq(0).attr("data-lazy-img"); String price = element.getElementsByClass("p-price").eq(0).text(); String name = element.getElementsByClass("p-name").eq(0).text(); String shop = element.getElementsByClass("p-shopnum").eq(0).text(); Content content = new Content(); content.setImg(img); content.setPrice(price); content.setTitle(name); content.setShop(shop); contentList.add(content); } return contentList; }
@Data
public class Content {
//myBatis-plus 的id自增
@TableId(type = IdType.AUTO)
private Integer id;
private String title;
private String price;
private String img;
private String shop;
}


![[会写代码的健身爱好者成长史]之Jsoup的简单使用 [会写代码的健身爱好者成长史]之Jsoup的简单使用](http://www.mshxw.com/aiimages/31/710098.png)
