学习目标:
当我们需要获取一些网络上的资源时,爬虫成了一种不可获取的技术,但是各大网站基本都限制通过接口来获取,本文将手把手教大家如何通过网页来获取我们想要的资源(仅供学习使用),一招学会,天下无敌!
- 通过网页jsoup爬取我们想要的内容,这里以爬取XX信息为例
学习内容:
1.引入相关pom
<!--解析网页Jsoup-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
2.寻找自己要爬取网址的标签
2.1 因为涉及隐私,地址我就不展示了,用(xxx代替),有需要详细查看的关注公众号
2.2 打开F12,找到自己需要的字段
3.编码阶段
String url = "xxx" + keyWord;
url = URLDecoder.decode(url, StandardCharsets.UTF_8);
//Document document = Jsoup.parse(new URL(url), 30000);
//模拟浏览器访问,防止阻止跳到登录页面
Connection mozilla = Jsoup.connect(url).userAgent("Mozilla");
Document document = mozilla.get();
Element element = document.body();
Element j_goodsList = element.getElementById("J_goodsList");
//Elements lis = j_goodsList.getElementsByTag("li");
Elements lis = j_goodsList.getElementsByClass("gl-item");
List<Content> list = new ArrayList<>();
for (Element li : lis) {
String price = li.getElementsByClass("p-price").eq(0).text();
String name = li.getElementsByClass("p-name").eq(0).text();
String img = li.getElementsByTag("img").eq(0).attr("data-lazy-img");//懒加载在在这里,初始化并不是在stc属性里
// String img = li.getElementsByTag("img").eq(0).attr("src");
list.add(new Content(name, img, price));
}
4. 结果
全部源码见公众号获取回复“Java网页爬虫”即可
关注公众号,随时学习最新内容,并与博主零距离交流!