网站如何分页,统计 网站关键字 布局,上海 政务网站建设情况,增光路网站建设文章目录 Java爬虫#xff08;Jsoup#xff09;详解一、引言二、Jsoup 快速入门1、Jsoup 简介1.1、添加依赖 2、解析 HTML 文档2.1、解析 HTML 字符串2.2、从 URL 加载 Document2.3、解析 body 片断 三、数据抽取1、使用 DOM 方法遍历文档3.1、获取元素 2、使用选择器语法查找… 文章目录 Java爬虫Jsoup详解一、引言二、Jsoup 快速入门1、Jsoup 简介1.1、添加依赖 2、解析 HTML 文档2.1、解析 HTML 字符串2.2、从 URL 加载 Document2.3、解析 body 片断 三、数据抽取1、使用 DOM 方法遍历文档3.1、获取元素 2、使用选择器语法查找元素3.2、CSS 选择器示例 3、抽取属性、文本和 HTML3.3、属性和内容抽取 四、数据修改1、设置属性值4.1、修改属性 2、设置元素的 HTML 内容4.2、修改 HTML 五、总结 Java爬虫Jsoup详解
一、引言
在数据爬取领域Python 以其强大的库支持而闻名但 Java 同样不容小觑。Jsoup 就是 Java 中处理 HTML 的佼佼者它不仅能够解析 HTML还能提供类似于 jQuery 的 API 来提取和操作 HTML 页面数据。本文将详细介绍 Jsoup 的使用让你能够快速上手 Java 爬虫。
二、Jsoup 快速入门
1、Jsoup 简介
Jsoup 是一款 Java 的 HTML 解析器能够直接解析 URL 地址或 HTML 文本内容。它提供了一套非常省力的 API可以通过 DOM、CSS 选择器以及类似于 jQuery 的操作方法来取出和操作数据。
1.1、添加依赖
在使用 Jsoup 之前需要在项目中添加 Jsoup 的依赖包。以 Maven 项目为例可以添加如下依赖
!-- 添加 Jsoup 依赖包 --
dependencygroupIdorg.jsoup/groupIdartifactIdjsoup/artifactIdversion1.11.2/version
/dependency2、解析 HTML 文档
Jsoup 提供了多种方式来解析 HTML 文档。以下是一些基本的解析方法
2.1、解析 HTML 字符串
String html htmlheadtitleFirst parse/title/headbodypParsed HTML into a doc./p/body/html;
Document doc Jsoup.parse(html);2.2、从 URL 加载 Document
Document doc Jsoup.connect(http://example.com/).get();
String title doc.title();2.3、解析 body 片断
String html divpLorem ipsum./p/div;
Document doc Jsoup.parseBodyFragment(html);
Element body doc.body();三、数据抽取
1、使用 DOM 方法遍历文档
一旦将 HTML 解析成 Document 对象就可以使用类似于 DOM 的方法进行操作。
3.1、获取元素
Element content doc.getElementById(content);
Elements links content.getElementsByTag(a);
for (Element link : links) {String linkHref link.attr(href);String linkText link.text();
}2、使用选择器语法查找元素
Jsoup 支持 CSS 选择器语法可以非常方便地查找和操作元素。
3.2、CSS 选择器示例
Elements links doc.select(a[href]); // 带有 href 属性的 a 元素
Elements pngs doc.select(img[src$.png]); // 扩展名为 .png 的图片3、抽取属性、文本和 HTML
在解析获得 Document 实例对象并查找到一些元素之后你可能希望取得这些元素中的数据。
3.3、属性和内容抽取
String text doc.body().text(); // 取得字符串中的文本
String linkHref link.attr(href); // 取得链接地址
String linkText link.text(); // 取得链接地址中的文本四、数据修改
1、设置属性值
在解析一个 Document 之后你可能想修改其中的某些属性值然后再保存到磁盘或输出到前台页面。
4.1、修改属性
doc.select(div.comments a).attr(rel, nofollow); // 为每个 a 元素添加 relnofollow2、设置元素的 HTML 内容
4.2、修改 HTML
Element div doc.select(div).first();
div.html(plorem ipsum/p); // 清除并设置新的内容
div.prepend(pFirst/p); // 在前面添加内容
div.append(pLast/p); // 在后面添加内容五、总结
Jsoup 是一个功能强大的 Java HTML 解析库它不仅能够解析 HTML还能提供丰富的 API 来提取和操作数据。通过本文的介绍你应该能够快速上手 Jsoup并将其应用于你的 Java 爬虫项目中。 版权声明本博客内容为原创转载请保留原文链接及作者信息。
参考文章
Java 版网页爬虫之 Jsoup 使用详解Jsoup一Jsoup详解官方 - 华仔Coding - 博客园