网页上爬取数据(Java版)通俗易懂
学习目标:
当我们需要获取一些网络上的资源时,爬虫成了一种不可获取的技术,但是各大网站基本都限制通过接口来获取,本文将手把手教大家如何通过网页来获取我们想要的资源(仅供学习使用),一招学会,天下无敌!
-
通过网页jsoup爬取我们想要的内容,这里以爬取XX信息为例
学习内容:
1.引入相关pom
<!--解析网页Jsoup--> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency>
2.寻找自己要爬取网址的标签
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网页爬虫”即可
下一篇:
Java - 程序设计与计算思维(1)