昨天从狂神大佬那学习了如何用jsoup爬去网站数据,现在整理了一下给大家分享一下。
先创建一个名叫JsoupPojo的实体类用来装入数据。
@Data
public class JsoupPojo {
private String src;
private String name;
}
下面是将用来爬取的方法封装成了一个工具类
@Component
public class JsonUpUtil {
public ArrayList<JsoupPojo> JDJsonUP(String key) throws Exception{
ArrayList<JsoupPojo> list = new ArrayList<JsoupPojo>();
/*京东搜索地址*/
String keyword = "https://search.jd.com/Search?keyword="+key;
/*此步根据赋值给keyword的URL来获取页面dom*/
Document dom = Jsoup.parse(new URL(keyword),5000);
/* getElementById根据页面标签ID获取其中元素*/
Element goodsList = dom.getElementById("J_goodsList");
/* getElementsByTag根据页面标签获取其中元素*/
Elements li = goodsList.getElementsByTag("li");
for (Element l : li ){
/*循环获取到的J_goodsList下的li标签,从其中第1个img标签获取名叫data-lazy-img的元素*/
String img = l.getElementsByTag("img").eq(0).attr("data-lazy-img");
String name = l.getElementsByClass("p-price").eq(0).text();
JsoupPojo pojo = new JsoupPojo();
/* 塞入实体类*/
pojo.setSrc(img);
pojo.setName(name);
/*装入集合*/
list.add(pojo);
}
return list;
}
}
最后写一个测试类测试一下,结果爬去成功!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/38626.html