前面我们已经简单的介绍了 jsoup 是如何使用选择器来对元素进行检索的。本节我们把重点放在选择器本身强大的语法上。下表是 jsoup 选择器的所有语法详细列表。
表 2. 基本用法:
ns|tag | 使用命名空间的标签定位,例如 fb:name 来查找 <fb:name> 元素 |
#id | 使用元素 id 定位,例如 #logo |
.class | 使用元素的 class 属性定位,例如 .head |
[attribute] | 使用元素的属性进行定位,例如 [href] 表示检索具有 href 属性的所有元素 |
[^attr] | 使用元素的属性名前缀进行定位,例如 [^data-] 用来查找 HTML5 的 dataset 属性 |
[attr=value] | 使用属性值进行定位,例如 [width=500] 定位所有 width 属性值为 500 的元素 |
[attr^=value], [attr$=value], [attr*=value] | 这三个语法分别代表,属性以 value 开头、结尾以及包含 |
[attr~=regex] | 使用正则表达式进行属性值的过滤,例如 img[src~=(?i)\.(png|jpe?g)] |
* | 定位所有元素 |
以上是最基本的选择器语法,这些语法也可以组合起来使用,下面是 jsoup 支持的组合用法:
表 3:组合用法:
el.class | 定位 class 为指定值的元素,例如 div.head -> <div class=head>xxxx</div> |
el[attr] | 定位所有定义了某属性的元素,例如 a[href] |
以上三个任意组合 | 例如 a[href]#logo 、a[name].outerlink |
ancestor child | 这五种都是元素之间组合关系的选择器语法,其中包括父子关系、合并关系和层次关系。 |
parent > child | |
siblingA + siblingB | |
siblingA ~ siblingX | |
el, el, el |
除了一些基本的语法以及这些语法进行组合外,jsoup 还支持使用表达式进行元素过滤选择。下面是 jsoup 支持的所有表达式一览表:
表 4. 表达式:
:gt(n) | div p:gt(2) 表示 div 中包含 2 个以上的 p |
:eq(n) | form input:eq(1) 表示只包含一个 input 的表单 |
:has(seletor) | div:has(p) 表示包含了 p 元素的 div |
:not(selector) | div:not(.logo) 表示不包含 class=logo 元素的所有 div 列表 |
:contains(text) | 包含某文本的元素,不区分大小写,例如 p:contains(oschina) |
:containsOwn(text) | 文本信息完全等于指定条件的过滤 |
:matches(regex) | 使用正则表达式进行文本过滤:div:matches((?i)login) |
:matchesOwn(regex) | 使用正则表达式找到自身的文本 |
相关推荐
jsoup的主要功能如下: 文档输入 解析并提取HTML 元素 修改数据 HTML 文档清理 jsoup 的过人之处——选择器
此抓取是抓取新浪高尔夫频道的新闻,采用的是jsoup 选择器抓取,比起httpparse 更好,更高效的抓取。
NULL 博文链接:https://injavawetrust.iteye.com/blog/2279338
这个源码主要是对我的Jsoup笔记进行整合,初步实现saz格式文件到csv文件转换的基本功能,程序要实现的基本功能主要是: 1、saz文件遍历:获取Java工程所在目录的上层目录中,指定扩展名(.saz)的文件, 2、遍历获得...
Android开发一大神器——Jsoup.pdf
Jsoup select选择器基本的使用方法,一般套路都是打开浏览器开发者工具,找到需要爬取的网页信息所在的网页标签,标记。然后用选择器把子标签所在的“路径”用语句拼接起来。。select(".slst.mtw>ul>li>h3>a");例如要...
jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jarjsoup-...
Android实战——jsoup实现网络爬虫,糗事百科项目的起步
java课程设计之jsoup实战之爬取网站的信息,附带依赖包
备查,搞爬虫开发者必备
Jsoup
使用 DOM 遍历或 CSS 选择器查找并提取数据 操作HTML 元素、属性和文本 根据安全列表清理用户提交的内容,以防止 XSS 攻击 输出整洁的 HTML jsoup 旨在处理各种常见的 HTML;从原始和验证,到无效的标签汤;jsoup 将...
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。...2. 使用DOM或CSS选择器来查找、取出数据; 3. 可操作HTML元素、属性、文本; jsoup是基于MIT协议发布的,可放心使用于商业项目。
Jsoup 1.5.2 和jsoup 1.6 开发包jar包,开发文档,源码包
赠送jar包:jsoup-1.14.3.jar; 赠送原API文档:jsoup-1.14.3-javadoc.jar; 赠送源代码:jsoup-1.14.3-sources.jar; 赠送Maven依赖信息文件:jsoup-1.14.3.pom; 包含翻译后的API文档:jsoup-1.14.3-javadoc-API...
JsoupAPI jsoup最新版帮助文档(1.10.2)
jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。... 使用DOM或CSS选择器来查找、取出数据; 3. 可操作HTML元素、属性、文本; jsoup是基于MIT协议发布的,可放心使用于商业项目。
7. 使用选择器语法来查找元素 8. 从元素集合抽取属性、文本和html内容 9. URL处理 10. 程序示例:获取所有链接数据修改 11. 设置属性值 12. 设置元素的html内容 13. 设置元素的文本内容html清理 14. 消除不受信任的...
整理JsoupXpath( ... 为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便, 支持几乎全部常用的xpath语法。
Jsoup库文件;Jsoup解析Java包