jsonp 使用选择器
使用选择器语法来查找和操作元素
使用类似于css和jquery的语法来查找和操作元素
可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");Elements links = doc.select("a[href]"); //带有href属性的a元素
Elements pngs = doc.select("img[src$=.png]"); //扩展名为.png的图片
Element masthead = doc.select("div.masthead").first(); //class等于masthead的div标签
Elements resultLinks = doc.select("h3.r > a"); //在h3元素之后的a元素jsoup elements对象支持类似于CSS (或jquery)的选择器语法,来实现非常强大和灵活的查找功能。
这个select 方法在Document, Element,或Elements对象中都可以使用。
且是上下文相关的,因此可实现指定元素的过滤,或者链式选择访问。Select方法将返回一个Elements集合,并提供一组方法来抽取和处理结果。
selector选择器概述
tagname: 通过标签查找元素,比如:a
ns|tag: 通过标签在命名空间查找元素,比如:可以用 fb|name 语法来查找 <fb:name> 元素
#id: 通过ID查找元素,比如:#logo
.class: 通过class名称查找元素,比如:.masthead
[attribute]: 利用属性查找元素,比如:[href]
[^attr]: 利用属性名前缀来查找元素,比如:可以用[^data-] 来查找带有HTML5 Dataset属性的元素
[attr=value]: 利用属性值来查找元素,比如:[width=500]
[attr^=value], [attr$=value], [attr*=value]: 利用匹配属性值开头、结尾或包含属性值来查找元素,比如:[href*=/path/]
[attr~=regex]: 利用属性值匹配正则表达式来查找元素,比如: img[src~=(?i)\.(png|jpe?g)]
*: 这个符号将匹配所有元素
Selector选择器组合使用
el#id: 元素+ID,比如: div#logo
el.class: 元素+class,比如: div.masthead
el[attr]: 元素+class,比如: 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: 查找A元素之前的同级X元素,比如:h1 ~ p
el, el, el:多个选择器组合,查找匹配任一选择器的唯一元素,例如:div.masthead, div.logo
伪选择器selectors
:lt(n): 查找哪些元素的同级索引值(它的位置在DOM树中是相对于它的父节点)小于n,比如:td:lt(3) 表示小于三列的元素
:gt(n):查找哪些元素的同级索引值大于n,比如: div p:gt(2)表示哪些div中有包含2个以上的p元素
:eq(n): 查找哪些元素的同级索引值与n相等,比如:form input:eq(1)表示包含一个input标签的Form元素
:has(seletor): 查找匹配选择器包含元素的元素,比如:div:has(p)表示哪些div包含了p元素
:not(selector): 查找与选择器不匹配的元素,比如: div:not(.logo) 表示不包含 class=logo 元素的所有 div 列表
:contains(text): 查找包含给定文本的元素,搜索不区分大不写,比如: p:contains(jsoup)
:containsOwn(text): 查找直接包含给定文本的元素
:matches(regex): 查找哪些元素的文本匹配指定的正则表达式,比如:div:matches((?i)login)
:matchesOwn(regex): 查找自身包含文本匹配指定正则表达式的元素
注意:上述伪选择器索引是从0开始的,也就是说第一个元素索引值为0,第二个元素index为1等
实例应用
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);//解析HTML字符串返回一个Document实现
Element link = doc.select("a").first();//查找第一个a元素String text = doc.body().text(); // "An example link"//取得字符串中的文本
String linkHref = link.attr("href"); // "http://example.com/"//取得链接地址
String linkText = link.text(); // "example""//取得链接地址中的文本String linkOuterH = link.outerHtml(); // "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"//取得链接内的html内容
转载于:https://www.cnblogs.com/ssgao/p/8829209.html
jsonp 使用选择器相关推荐
- jQuery中的ajax、jquery中ajax全局事件、load实现页面无刷新局部加载、ajax跨域请求jsonp、利用formData对象向服务端异步发送二进制数据,表单序列化(异步获取表单内容)
jQuery中使用ajax: 在jQuery中使用ajax首先需要引入jQuery包,其引入方式可以采用网络资源,也可以下载包到项目文件中,这里推荐下载包到文件中:市面上有多个版本的jQuery库,这 ...
- 自己以前写的一个简单的jq,包含了 ajax,get,post,submit 等方法还有jsonp的思想
/*Name : kessToolType : javascriptFun : ToolDate : 2016年8月23日 16:13:15by : kessnote : 重写 */ (functio ...
- 【练习】jsonP的实际应用,移动端web,京东手机移动端(开头)
1.百度地图开放平台jsonP的实际应用 http://lbsyun.baidu.com/index.php?title=webapi/direction-api-v2 找到一个端口,把ak改成自己的 ...
- web前端开发课程安排,写出jquery常用选择器
面试知识点 主要内容包括html,css,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,设计模式,项目等等. html 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 2 ...
- 70天的JQUERY学习: 选择器+事件+效果。总结篇
运行结果 这是我等下要发的代码.首先去了解Jquery的Apl:APL代码. <!DOCTYPE html> <html class="no-js loading-pr ...
- CSS 选择器:BeautifulSoup4解析器
和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...
- xpath选择器简介及如何使用
xpath选择器简介及如何使用 一.总结 一句话总结:XPath 的全称是 XML Path Language,即 XML 路径语言,它是一种在结构化文档(比如 XML 和 HTML 文档)中定位信息 ...
- css选择器及float(浮动)
--------------------------选择器( css有就近原则)------------------------------- 选择器名称 在css表的 ...
- html5类选择器选择权重,Python Html5和CSS3的新增功能:CSS权重与CSS3新增选择器
一.CSS权重概念 CSS权重概念:指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式. 二.权重的等级 2.1.权重的等级划分 ...
- 浅谈对html css的理解,HTML+CSS入门 CSS选择器 、属性和值浅谈
body { font-size: 0.8em; color: navy; } 上面的意思是为body选择器设置font-size字体大小和color字体颜色. 所以基本的,当它作用与HTML页面时, ...
最新文章
- 详解原生AJAX请求demo(兼容IE5/6)
- 专访丨周志华:深度学习理论探讨比应用滞后太多
- 使用wlan接收器经常重新登录怎么办
- 数据库中的null和c#中的null
- LeetCode 219. 存在重复元素 II(哈希)
- python名称空间与运用域_Python名称空间和作用域讲座,命名,Namespaces,Scopes
- linux 16.04 WIFI,手动配置 WIFI无线网络 (Ubuntu 16.04)
- 集大成者 —— 荀子
- layUI数据表格可编辑扩展下拉框
- mysql left join 几个意思
- 将word文档转换为图片格式的PDF
- 微信支付获取用户真实ip
- 用excel制作双层饼图_Excel 怎么用环形图制作双层饼图,excle饼状图图的制作
- pocket pc 2003 联网
- 申请微信公众号,当前绑定的银行卡暂不支持实名验证...
- 【XBEE手册】ZigBee网络
- 怎么定位门面位置_如何选择店面位置
- 【智能推荐】阿里云智能推荐AIRec文档说明与SDK测试
- SpringBoot框架的优点
- ROS系列:一、ROS是什么
热门文章
- iis部署错误:HTTP 错误 500.21 - Internal Server Error
- 在本地电脑搭建一个网站 转自本文地址:http://www.fengzimo.com/1503.html 来源 疯子墨...
- struts2 文件上传下载注解示例
- UNIX网络编程卷1 时间获取程序server UDP 协议无关
- Solaris11修改主机名
- 自己动手开发编译器(二)正则语言和正则表达式
- UJAM Virtual Guitarist SILK for mac(尼龙弦原声吉他)
- OmniGraffle 7 Pro全新推出!V7.18.3(204.9.0)正式版 支持M1
- Centos 7 配置 apache https访问以及Chrome 忽略证书错误继续
- 【Flutter】基础组件【09】Button