Jsoup爬虫入门实战

article/2025/9/28 14:13:23

一、Jsoup介绍

jsoup 是一款基于 Java 的HTML解析器,它提供了一套非常省力的API,不但能直接解析某个URL地址、HTML文本内容,而且还能通过类似于DOM、CSS或者jQuery的方法来操作数据,所以 jsoup 也可以被当做爬虫工具使用。

相关概念

Document :文档对象。每份HTML页面都是一个文档对象,Document 是 jsoup 体系中最顶层的结构。
Element:元素对象。一个 Document 中可以着包含着多个 Element 对象,可以使用 Element 对象来遍历节点提取数据或者直接操作HTML。
Elements:元素对象集合,类似于List。
Node:节点对象。标签名称、属性等都是节点对象,节点对象用来存储数据。
类继承关系:Document 继承自 Element ,Element 继承自 Node。
一般执行流程:先获取 Document 对象,然后获取 Element 对象,最后再通过 Node 对象获取数据。
在这里插入图片描述


二、实战

2.1、创建一个springboot项目,并导入依赖

<!--添加fastjson依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.7</version></dependency><!--添加Jsoup依赖--><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.13.1</version></dependency>

2.2、创建实体类,用于封装商品信息

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Content {private String title;private String img;private String price;// 可以自己添加属性完善功能
}

2.3、写一个工具类,解析网页

public static List<Content> parseJD(String keyword) throws IOException {/// 使用前需要联网// 请求urlString url = "http://search.jd.com/search?keyword=" + keyword;// 1.解析网页(jsoup 解析返回的对象是浏览器Document对象)Document document = Jsoup.parse(new URL(url), 30000);// 使用document可以使用在js对document的所有操作// 2.获取元素(通过id),id自己查网页Element j_goodsList = document.getElementById("J_goodsList");// 3.获取J_goodsList ul 每一个Elements lis = j_goodsList.getElementsByTag("li");// System.out.println(lis);// 4.获取li下的 img、price、name// list存储所有li下的内容List<Content> contents = new ArrayList<Content>();for (Element li : lis) {// 由于网站图片使用懒加载,将src属性替换为data-lazy-imgString img = li.getElementsByTag("img").eq(0).attr("data-lazy-img");// 获取li下 第一张图片String name = li.getElementsByClass("p-name").eq(0).text();String price = li.getElementsByClass("p-price").eq(0).text();// 封装为对象Content content = new Content(name,img,price);// 添加到list中contents.add(content);}// System.out.println(contents);// 5.返回 listreturn contents;}

2.4、测试

// 测试一下public static void main(String[] args) throws IOException {HtmlParseUtil.parseJD("java").forEach(System.out::println);}

成功爬取到java相关信息的数据

在这里插入图片描述

如果有兴趣的小伙伴,也可以和ElasticSearch联动,创建一个索引将爬取的数据入在索引库中,当做搜索库!


http://chatgpt.dhexx.cn/article/Nc25ij6w.shtml

相关文章

Jsoup爬虫实例

一、简介 jsoup 是一款Java 的HTML解析器&#xff0c;可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。&#xff08;来源百度&#xff09; 二、准备 首先你需要找到一个你…

使用Jsoup实现网络爬虫

一、什么是Jsoup&#xff1f; jsoup是一款Java的HTML解析器、可以通过URL获取DOM元素并解析&#xff0c;也可对HTML文本内容进行解析&#xff0c;jsoup提供了一套非常简单的方法&#xff0c;类似于CSS、JQuery的操作方法对元素或者是数据进行操作。 二、Jsoup的特点及作用 从…

Java学习笔记:爬虫-用Jsoup解析网页

什么是爬虫 1、爬虫&#xff1a;程序代替人的人工操作&#xff0c;自动获取网页内容&#xff0c;并且从其中提取出来有价值信息。 2、原始&#xff1a;调用Http的类向服务器发出请求&#xff0c;获得HTML&#xff0c;然后用正则表达式等去分析。缺点&#xff1a;难度高。 3、…

jsoup爬虫

文章目录 1、jsoup爬虫简单介绍2、相关代码2.1导入pom依赖2.2、图片爬取2.3、图片本地化 3、百度云链接爬虫 1、jsoup爬虫简单介绍 jsoup 是一款 Java 的HTML 解析器&#xff0c;可通过DOM&#xff0c;CSS选择器以及类似于JQuery的操作方法来提取和操作Html文档数据。 这两个…

解析卷积神经网络学习笔记——魏秀参

第二章 CNN基本部件 1.理解批处理和随机梯度下降&#xff1a; 训练模型时随机选取n个训练样本作为一个batch&#xff08;批输入&#xff09;&#xff0c;那么经过设计好的卷积神经网络就可以输出n个预测值&#xff0c;对这n个预测值求其损失函数&#xff08;注意损失函数绝不是…

【干货】卷积神经网络Alex-Net、VGG-Nets、Network-In-Network案例分析

目录 Alex-Net 网络模型 VGG-Nets 网络模型 Network-In-Network 本文将以 Alex-Net、VGG-Nets、Network-In-Network 为例&#xff0c;分析几类经典的卷积神经网络案例。 在此请读者注意&#xff0c;此处的分析比较并不是不同网络模型精度的“较量”&#xff0c;而是希望读者…

2018年国内十大技术突破:22纳米光刻机、大型航天器回收

https://www.toutiao.com/a6639830026990649860/ 2018-12-28 08:11:39 盘点这一年的核心技术&#xff1a;22纳米光刻机、450公斤人造蓝宝石、0.12毫米玻璃、大型航天器回收、盾构机“弃壳返回”、远距离虹膜识别……哪一个不夺人眼球&#xff01; 1 智能水刀削铁断金 10月份的…

AI的螺旋式上升?今日头条AI掌门人马维英离职,“重返”清华从事培育科研工作

2020-07-29 01:22:49 作者 | 蒋宝尚 编辑 | 丛 末 据媒体报道&#xff0c;字节跳动副总裁、人工智能实验室主任马维英离职&#xff0c;将到清华大学智能产业研究院任职&#xff0c;加入正在筹备该产业院的原百度总裁张亚勤团队。 对于马维英离职一事&#xff0c;字节跳动也做…

超全深度学习细粒度图像分析:项目、综述、教程一网打尽

在本文中&#xff0c;来自旷视科技、南京大学和早稻田大学的研究者对基于深度学习的细粒度图像分析进行了综述&#xff0c;从细粒度图像识别、检索和生成三个方向展开论述。此外&#xff0c;他们还对该领域未来的发展方向进行了讨论。 &#xff08;CV&#xff09;是用机器来理解…

机器学习防止模型过拟合的方法知识汇总

目录 LP范数L1范数L2范数L1范数和L2范数的区别DropoutBatch Normalization归一化、标准化 & 正则化Reference 其实正则化的本质很简单&#xff0c;就是对某一问题加以先验的限制或约束以达到某种特定目的的一种手段或操作。在算法中使用正则化的目的是防止模型出现过拟合。…

一文读懂机器学习中的正则化

正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。当我们用较为复杂的模型拟合数据时,容易出现过拟合现象,导致模型的泛化能力下降,这时我们就需要使用正则化,降低模型的复杂度。本文总结阐释了正则化的相关知识点,帮助大家更好的理解正则化这一概念。 目录 L…

漆远离职阿里加盟复旦!大牛纷纷回归学界,大厂AI名存实亡?

来源丨新智元 编辑丨小咸鱼 好困 【导读】蚂蚁金服原副总裁、AI团队负责人漆远已于近日离职&#xff0c;出任复旦大学「浩清」教授&#xff0c;复旦人工智能创新与产业研究院院长。将从事深度学习、强化学习等人工智能领域的前沿研究和应用。 那个支付宝背后的AI大牛&#xff0…

正则化方法归纳总结

作者丨Poll 来源丨https://www.cnblogs.com/maybe2030/p/9231231.html 编辑丨极市平台 本文仅用于学术分享,如有侵权请联系后台删文 导读 本文先对正则化的相关概念进行解释作为基础&#xff0c;后对正则化的方法进行了总结&#xff0c;帮助大家更加清晰的了解正则化方法。 阅…

阿里副总裁、达摩院自动驾驶负责人王刚离职!

转载自&#xff1a;新智元 | 编辑&#xff1a;桃子 好困 【导读】从学界「跨界」互联网&#xff0c;再转身去创业。这一年&#xff0c;他40岁&#xff0c;依然选择挑战自我。消息称&#xff0c;阿里副总裁、达摩院自动驾驶实验室负责人王刚已于近日离职。阿里&#xff0c;是他的…

机器学习防止模型过拟合方法总结

转自 | 小白学视觉&#xff0c;作者小白 文章仅用于学术分享&#xff0c;侵删 目录 LP范数L1范数L2范数L1范数和L2范数的区别DropoutBatch Normalization归一化、标准化 & 正则化Reference 其实正则化的本质很简单&#xff0c;就是对某一问题加以先验的限制或约束以达到某种…

CV还要更热闹!旷视刚宣布4.6亿美元融资,商汤:新一轮年内完成

允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI △ 商汤科技CEO徐立 你追我赶&#xff01; 机器视觉&#xff08;CV&#xff09;领域热度还在急剧升温。 昨天&#xff0c;旷视科技(Face)刚完成了C轮4.6亿美元融资&#xff0c;刷新了AI公司全球单轮融资额纪录。 而这一纪录的保…

LaTeX 有哪些「新手须知」的内容?

孟晨 &#xff0c;在 LaTeX 话题下写错 LaTeX 名字的&#xff0c;一律… 陈硕 等 137 人赞同 这是个好问题&#xff0c;虽然提问提得很大。不是很好答&#xff0c;权当抛砖引玉了。 天字第一号原则&#xff1a;不要到网上抄代码&#xff0c;尤其是似懂非懂的阶段。 除非代码的…

《解析深度学习》部分笔记

记录一些书里的知识点&#xff0c;摘自魏秀参的《解析深度学习-卷积神经网络原理与视觉实践》 第三章 卷积神经网络经典结构 1.在深度学习中&#xff0c;深度卷积神经网络呈现“分布式表示”&#xff0c;既“语义概念”到神经元是一个多对多映射。直观讲就是&#xff1a;每个语…

新型计算机离我们还有多远

作者&#xff1a;高如如&#xff0c;魏秀参 本文为《程序员》原创文章&#xff0c;未经允许不得转载&#xff0c;更多精彩文章请订阅《程序员》 自1946年ENIAC&#xff08;Electronic Numerical Integrator And Calculator&#xff0c;即电子数字积分计算机&#xff09;问世&am…

Must Know Tips/tricks in DNN

Must Know Tips/Tricks in Deep Neural Networks (byXiu-Shen Wei) 转载于http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Convolutional Neural Networks (CNN), allows computational models that are composed of mult…