河北邯郸信息港济南网站建设优化

web/2025/10/8 2:04:13/文章来源:
河北邯郸信息港,济南网站建设优化,网站备案的要求是,app下载网站免费文章目录 简介原理依赖基础示例功能解析和遍历文档输入从字符串中解析文档从 URL 加载文档从文件加载文档 数据提取使用 DOM 方法导航文档使用 CSS 选择器查找元素使用 XPath 选择器查找元素和节点从元素中提取属性、文本和 HTML 清理HTML 官网#xff1a; https://jsoup.org… 文章目录 简介原理依赖基础示例功能解析和遍历文档输入从字符串中解析文档从 URL 加载文档从文件加载文档 数据提取使用 DOM 方法导航文档使用 CSS 选择器查找元素使用 XPath 选择器查找元素和节点从元素中提取属性、文本和 HTML 清理HTML 官网 https://jsoup.org/ 文档https://jsoup.org/cookbook/ 简介 jsoup 是一个 Java 库可简化实际 HTML 和 XML 的使用。它提供了一个易于使用的 API用于使用 DOM API 方法、CSS 和 xpath 选择器进行 URL 获取、数据解析、提取和操作。 jsoup 实现了 WHATWG HTML5 规范并将 HTML 解析为与现代浏览器相同的 DOM。 抓取 从 URL、文件或字符串中抓取并解析 HTML 查找 使用 DOM 遍历或 CSS 选择器查找并提取数据 操作 操作 HTML 元素、属性和文本 清理 根据安全列表清理用户提交的内容以防止 XSS 攻击 输出 输出整洁的 HTML jsoup 旨在处理各种常见的 HTML从原始和验证到无效的标签 jsoup 将创建一个合理的解析树。 原理 jsoup 使用类似于jQuery的API它将HTML文档解析成一个DOM树然后可以使用类似于CSS选择器的语法来定位和操作文档中的元素。这种模型使得开发者能够以一种直观的方式进行数据提取和DOM操作。 依赖 dependency!-- jsoup HTML parser library https://jsoup.org/ --groupIdorg.jsoup/groupIdartifactIdjsoup/artifactIdversion1.17.1/version /dependency基础示例 获取维基百科主页将其解析为 DOM然后从新闻部分中选择标题到元素列表中 import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;import java.io.IOException;/*** A simple example, used on the jsoup website.*/ public class Wikipedia {public static void main(String[] args) throws IOException {Document doc Jsoup.connect(http://en.wikipedia.org/).get();log(doc.title());Elements newsHeadlines doc.select(#mp-itn b a);for (Element headline : newsHeadlines) {log(%s\n\t%s, headline.attr(title), headline.absUrl(href));}}private static void log(String msg, String... vals) {System.out.println(String.format(msg, vals));} }XPath更强大而CSS选择器通常语法比较简洁运行速度更快些。 Chrome 插件 Ranorex selectorgadget 功能 解析和遍历文档 解析 HTML 文档 String html htmlheadtitleFirst parse/title/head bodypParsed HTML into a doc./p/body/html; Document doc Jsoup.parse(html);解析器将尽一切努力根据您提供的 HTML 创建干净的解析无论 HTML 格式是否良好 未封闭的标签例如 pLorem pIpsum 解析为 pLorem/p pIpsum/p 隐式标签例如裸露的 tdTable data/td 被包装到 tabletrtd... 中可靠地创建文档结构 html 包含 head 和 body 并且仅在头部中包含适当的元素 Document的对象模型 文档由 Elements 和 TextNodes以及其他几个杂项节点组成。继承链是 Document extends Element extends Node 。 TextNode 扩展 LeafNode 扩展 Node 。一个元素包含一系列子节点并且有一个父元素。他们还提供了仅子元素的过滤列表。 输入 从字符串中解析文档 // 从字符串中解析文档 String html htmlheadtitleFirst parse/title/head bodypParsed HTML into a doc./p/body/html; Document doc Jsoup.parse(html); // 解析片段 String html divpLorem ipsum./p; Document doc Jsoup.parseBodyFragment(html); Element body doc.body();从 URL 加载文档 Document doc Jsoup.connect(http://example.com/).get(); String title doc.title();Document doc Jsoup.connect(http://example.com).data(query, Java).userAgent(Mozilla).cookie(auth, token).timeout(3000).post();从文件加载文档 File input new File(/tmp/input.html); Document doc Jsoup.parse(input, UTF-8, http://example.com/);数据提取 使用 DOM 方法导航文档 File input new File(/tmp/input.html); Document doc Jsoup.parse(input, UTF-8, http://example.com/);Element content doc.getElementById(content); Elements links content.getElementsByTag(a); for (Element link : links) {String linkHref link.attr(href);String linkText link.text(); }寻找元素 getElementById(String id)getElementsByTag(String tag)getElementsByClass(String className)getElementsByAttribute(String key)兄弟元素 siblingElements() 、 firstElementSibling() 、 lastElementSibling() nextElementSibling() previousElementSibling()Graph: parent(), children(), child(int index) 元素数据 attr(String key) 用于获取属性attributes() 获取所有属性id() 、 className() 和 classNames()text() 获取文本内容 text(String value) 设置文本内容html() 获取内部 HTML 内容 html(String value) 设置内部 HTML 内容outerHtml() 获取外部 HTML 值data() 获取数据内容例如 script 和 style 标签tag() and tagName() tag() 和 tagName() 使用 CSS 选择器查找元素 File input new File(/tmp/input.html); Document doc Jsoup.parse(input, UTF-8, https://example.com/);Elements links doc.select(a[href]); // a with href Elements pngs doc.select(img[src$.png]);// img with src ending .pngElement masthead doc.select(div.masthead).first();// div with classmastheadElements resultDivs doc.select(h3.r div);// direct div after h3 Elements resultAs resultDivs.select(a);// A elements within resultDivs选择器概述 tagname 通过标签查找元素例如 div #id 通过 ID 查找元素例如 #logo .class 按类名查找元素例如 .masthead [attribute] 具有属性的元素例如 [href] [^attrPrefix] 带有属性名称前缀的元素例如 [^data-] 查找具有 HTML5 数据集属性的元素 [attrvalue] 具有属性值的元素例如 [width500] 也可引用如 [data-namelaunch sequence] [attr^value] 、 [attr$value] 、 [attr*value] 具有以值开头、结尾或包含值的属性的元素例如 [href*/path/] [attr~regex] 属性值与正则表达式匹配的元素例如 img[src~(?i)\.(png|jpe?g)] * 所有元素例如 * ns|tag 通过命名空间前缀中的标签查找元素例如 fb|name 查找 fb:name 元素 *|tag 任何命名空间前缀中的标记的最终元素例如 *|name 查找 fb:name 和 name 元素 选择器组合 el#id 带有 ID 的元素例如 div#logo el.class 具有类的元素例如 div.masthead el[attr] 具有属性的元素例如 a[href] 任意组合例如 a[href].highlight ancestor child 从祖先继承的子元素例如 .body p 查找类为“body”的块下任意位置的 p 元素 parent child 直接从父元素下降的子元素例如 div.content p 查找 p 元素 body * 查找 body 标记的直接子级 siblingA siblingB 查找紧邻同级 A 的同级 B 元素例如 div.head div siblingA ~ siblingX 查找同级 X 元素其前面是同级 A例如 h1 ~ p el, el, el 将多个选择器分组查找与任何选择器匹配的唯一元素例如 div.masthead, div.logo 伪选择器 :has(selector) 查找包含与选择器匹配的元素的元素例如 div:has(p) :is(selector) 查找与选择器列表中任意选择器匹配的元素例如 :is(h1, h2, h3, h4, h5, h6) 查找任何标题元素 :not(selector) 查找与选择器不匹配的元素例如 div:not(.logo) :contains(text) 查找包含给定文本的元素。搜索不区分大小写例如 p:contains(jsoup) :containsOwn(text) 查找直接包含给定文本的元素 :matches(regex) 查找文本与指定正则表达式匹配的元素例如 div:matches((?i)login) :matchesOwn(regex) 查找自身文本与指定正则表达式匹配的元素 :lt(n) 查找同级索引即其在 DOM 树中相对于其父级的位置小于 n 的元素例如 td:lt(3) :gt(n) 查找同级索引大于 n 的元素例如 div p:gt(2) :eq(n) 查找同级索引等于 n 的元素例如 form input:eq(1) 使用 XPath 选择器查找元素和节点 Document doc Jsoup.connect(https://jsoup.org/).get();Elements elements doc.selectXpath(//div[classcol1]/p);// Each P element in div.col1ListTextNode textNodes doc.selectXpath(//a/text(), TextNode.class);// Each TextNode in every A element从元素中提取属性、文本和 HTML String html pAn a hrefhttp://example.com/bexample/b/a link./p; Document doc Jsoup.parse(html); Element link doc.select(a).first();String text doc.body().text(); // An example link String linkHref link.attr(href); // http://example.com/ String linkText link.text(); // exampleString linkOuterH link.outerHtml(); // a hrefhttp://example.combexample/b/a String linkInnerH link.html(); // bexample/b清理HTML 希望允许不受信任的用户提供 HTML 以在您的网站上输出例如作为评论提交。您需要清理此 HTML 以避免跨站点脚本 (XSS) 攻击. String unsafe pa hrefhttp://example.com/ οnclickstealCookies()Link/a/p; String safe Jsoup.clean(unsafe, Safelist.basic()); // now: pa hrefhttp://example.com/ relnofollowLink/a/p

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ui设计师有前途吗搜索引擎优化时营销关键词

Python 交互式可视化库 所属分类:中间件编程 开发工具:Python 文件大小:12843KB 下载次数:1 上传日期:2018-12-06 18:40:56 上 传 者:孤独的老张 说明: 一个 Python 交互式可视化库,…

珠海网站关键词推广一分钟企业宣传片怎么拍

先后顺序: index.html > App.vue的export外的js代码 > main.js > App.vue的export里面的js代码 > Index.vue的export外的js代码 测试的页面代码块: 文件的加载先后顺序: Index.vue的mounted()中的输出没有执行。why&#…

服务好的企业网站怎么建设wordpress里的小工具

时间限制:0.5s 空间限制6M 题意&#xff1a; 给出n个&#xff08;1<n<10000&#xff09;1~m&#xff08;2<m<1000&#xff09;范围内的数&#xff0c;选择其中任意个数&#xff0c;使它们的 乘积 模m 最大&#xff0c;输出最大的分数&#xff0c;和选择的数的编号。…

做网站多久学会wordpress繁简体

基础篇&#xff1a; 第 1 部分&#xff1a;Dart 的基础语法 1.1 Dart 程序的结构 一个简单的 Dart 程序通常包含一个 main() 函数&#xff0c;这是程序的入口点。所有 Dart 程序都会从 main() 函数开始执行。 void main() {print(Hello, Dart!); } void 表示 main() 函数没…

哈尔滨做网站哪家好强手机网站推荐大全

linux常用命令(4) --- Vim编辑器与Shell命令脚本 如何使用vim编辑器来编写文档、配置主机名称、网卡参数以及yum仓库&#xff1b;通过vim编辑器将Linux命令放入合适的逻辑测试语句&#xff08;if、for、while、case&#xff09;后最终写出简单使用的shell脚本;可以通过at命令或…

网站微建站晋江规划建设局网站

题目描述&#xff1a; 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入…

生产备案号怎么查询网站深圳十大工业设计公司

模拟堆也是对堆的一次深入理解和一些其它操作&#xff0c;可以了解一下。 文章目录 前言 一、模拟堆 二、算法思路 1.结点上移 2.结点下移 3.插入一个数 4.输出当前集合的最小值 5.删除当前集合的最小值&#xff08;数据保证此时的最小值唯一&#xff09; 6.删除第k个插入的数 …

网站的优化外包php做网站还是linux

1.梳理、总结经纬度处理在Maxcompute平台上的实战应用&#xff0c;如bd09、gcj02、wgs84经纬度坐标系转换UDF函数注册与使用。 2.欢迎批评指正&#xff0c;跪谢一键三连&#xff01; 文章目录 1.参考代码 1.参考代码 坐标系转换 bd09坐标系&#xff08;百度坐标系&#xff09;…

开锁做网站哪个好凡科建站后台登录

贪吃蛇是个非常经典的游戏&#xff0c;用C语言来实现也是一个好玩的事情。这个游戏我写完后放在知乎&#xff0c;竟然点赞的人数超级多。我觉得大家喜欢&#xff0c;一个方面是因为写得简单&#xff0c;大家都能看得懂&#xff0c;一个可扩展性还是非常强的。我试了说一下这个代…

上线了建站教程西柏坡门户网站建设规划书

PHP(PHP&#xff1a;Hypertext Preprocessor&#xff0c;PHP&#xff1a;超文本预处理器)是PHP Group和开放源代码社区共同维护的一种开源的通用计算机脚本语言。该语言主要用于Web开发&#xff0c;支持多种数据库及操作系统。 PHP中存在安全漏洞&#xff0c;该漏洞源于程序没有…

青海wap网站建设比较好wordpress导出数据库

1.Controller概述 Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。 2.pod和Controller之间的关系 pod通过controller实现应用的运维,包括伸缩、滚动升级等操作。 这里pod和controller通过label标签来建立关系。如下所示: 3.Deployment控制器应用场景 -1:…

带管理后台的网站桂林网页

在互联网购物日益普及的今天&#xff0c;四川古力未来科技抖音小店凭借其独特魅力和安全保障措施&#xff0c;成为越来越多消费者信赖的购物平台。本文将详细解读四川古力未来科技抖音小店的安全保障措施&#xff0c;让您在享受便捷购物的同时也能安心放心。 一、平台背景与安全…

西安市建网站找哪家网站建设国外

以实现下面的效果为示例 完整代码&#xff1a; let msgList ["数据1被引用", "数据2被引用"];// 使用html的换行标签拼接信息&#xff0c;默认行距太小&#xff0c;此处用两个<br/><br/>let message 以下数据不能删除&#xff0c;原因是&…

网站原型图是什么网络营销推广流程

一、 选择排序的思想 选择排序的基本思想是&#xff1a;每一趟在n-i1&#xff08;i1&#xff0c;2&#xff0c;…n-1&#xff09;个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。简单选择排序的基本思想&a…

网站建设后台编程茂名本土网站建设公司

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼* 名称&#xff1a;外部中断* 日期&#xff1a;2013-9-10* 晶振:11.0592MHZ******************************************************************/#include //包含头文件&#xff0c;对IO进行定义&#xff0c;可以选中后右击&…

汕头搭建建站wordpress网站怎么样

PHP单文件上传原理及上传函数的封装服务器(临时文件)——>指定目录,当文件进入服务器时它就是临时文件了,这时操作中要用临时文件的名称tmp_name。//在客户端设置上传文件的限制(文件类型和大小)是不安全的&#xff0c;因为客户能通过源代码修改限制&#xff0c;所以在服务端…

家纺行业英文网站模板wordpress short_open_tag

目录 一、引言 二、农村环境整治的重要性 1、提升农民生活质量 2、促进农村经济发展 3、保护农村生态环境 三、当前农村环境面临的问题 1、垃圾处理不当 2、污水处理设施缺乏 3、农业面源污染严重 四、加强农村环境治理的措施 1、完善农村垃圾处理体系 2、加强农村…

网站评价佛山城市建设投资有限公司

目录 1.背景 2.创建虚拟环境 3.目录结构 4.pip安装 5.环境使用 1.背景 很多应用、开源软件都是python写的&#xff0c;各自有各自的软件包和版本依赖&#xff0c;有事可能会有所冲突&#xff0c;为了避免这个冲突&#xff0c;建议采用venv虚拟环境。 本文讲解venv虚拟环…

江苏扬州工程建设信息网站台山网站建设

string数据类型的命令操作 设置键值 使用append 命令设置键值&#xff0c;后面跟键的名字&#xff0c;可以先判断该建是否存在&#xff0c;存在将值追加在后面&#xff0c;不存在自动添加该建 append mykey hello读取键值 get mykey数值类型自减1 数值类型自加1 查看值的…

南宁有名的seo费用网站建设优化服务平台

转载自&#xff1a;http://blog.csdn.net/sszgg2006/article/details/8447176文件路径正斜杠和反斜杠正斜杠&#xff0c;又称左斜杠&#xff0c;符号是"/"&#xff1b;反斜杠&#xff0c;也称右斜杠&#xff0c;符号是"\"。文件路径的表示可以分为绝对路径…