XPATH应该怎么写?
Nodename选择此节点的所有子节点。
/从根节点中选择。
//从当前节点中选择文档中与选择匹配的节点,而不考虑它们的位置。
。选择当前节点。
..选择当前节点的父节点。
@选择一个属性。
路由表达式
结果
Bookstore选择bookstore元素的所有子节点。
/bookstore选择根元素bookstore。注意:如果路径以正斜杠(/)开头,它总是代表一个元素的绝对路径!
书店/书籍选择属于书店子元素的所有书籍元素。
//book选择所有book子元素,而不考虑它们在文档中的位置。
book store//books选择book元素的所有子元素,无论它们位于书店的哪个位置。
named lang选择所有名为lang的属性。
举个例子
1.查找页面根元素://
2.查找页面上的所有输入元素://input
3.在页面的第一个form元素中找到直接子input元素(即只包含form元素的下一级input元素,用绝对路径表示,用单个符号表示)://form[1]/input。
4.找到页面上第一个form元素中的所有子input元素(只要计算form元素中的input,不管嵌套了多少个其他tab,都用相对路径表示,带双//号)://form[1]//input。
5.查找页面上的第一个表单元素://form[1]
6.在页面上查找id为loginForm的表单元素://form[@id='loginForm']
7.在页面上找到name属性为username的input元素://input[@name='username']。
8.在页面上找到id为loginForm的form元素下的第一个input元素://form[@ id = ' log in form ']/input[1]。
9.搜索页面有一个input元素,其name属性为continue,type属性为button://input[@ name = ' continue '][@ type = ' button ']。
10.在网页中查找所有id为的元素?/@id
2.修饰节点搜索到的内容。
举个例子
路由表达式
结果
/bookstore/book[1]选择属于bookstore子元素的第一个book元素。
/bookstore/book[last()]选择属于书店子元素的最后一个book元素。
/bookstore/book[last()-1]选择属于book store子元素的倒数第二个book元素。
/bookstore/book[position()]选择属于bookstore元素子元素的前两个book元素。
//title[@lang]选择所有属性名为lang的title元素。
//title[@lang='eng']选择所有的title元素,这些元素都有值为eng的lang属性。
/书店/书[价格& gt35.00]选择书店元素的所有图书元素,价格元素的值必须大于35.00。
/书店/书[价格& gt35.00]/title在book元素中选择book元素的所有title元素,price元素的值必须大于35.00。
3.选择未知节点
通配符
形容
*匹配任何元素节点。
@ *匹配任何属性节点。
Node()匹配任何类型的节点。
举个例子
路由表达式
结果
/bookstore/*选择bookstore元素的所有子元素。
//*选择文档中的所有元素。
//title[@*]选择所有带有属性的title元素。
4.选择几个路径
通过在路径表达式中使用|运算符,可以选择多条路径。
路由表达式
结果
//book/title | //book/price选择book元素的所有标题和价格元素。
//title | //price选择文档中所有的标题和价格元素。
/bookstore/book/title | //price选择属于bookstore元素的book元素的所有title元素和文档中的所有price元素。
5.关键词
用例
举个例子
正文()书/作者/正文()
string()图书/作者/string()
数据()书籍/作者/数据()
。书/作者/。
举个例子
XML示例
& ltbook & gt& lt作者& gt汤姆& ltem & gt约翰& lt/em & gt;cat & lt/作者& gt& lt定价& gt& lt价格& gt20 & lt/price & gt;& lt折扣& gt0.8 & lt/discount & gt;& lt/pricing & gt;& lt/book & gt;
文本()
您经常在XPath表达式的末尾看到text(),它只返回指定元素的文本内容。
爬取的xpath格式为book/author/text(),爬取的内容为Tom cat,其中John不属于作者的直接节点内容。
字符串()
string()函数将获取指定元素的所有节点文本内容,这些内容将被拼接成一个字符串。
爬取的xpath格式为book/author/string(),爬取的内容都是从汤姆约翰猫作者的头部到尾部爬取出来的。
数据()
大多数时候,data()函数和string()函数是常用的,不建议频繁使用data()函数。据统计,这个函数会影响XPath的性能。
爬取的xpath格式是book/pricing/data(),爬取的内容返回分开的20和0.8。它们的类型不是字符串,而是xs:anyAtomicType,因此可以使用数学函数来执行某些操作。
爬取所有数字时只能使用data(),不能使用text()或string(),因为XPath不支持字符串进行数学运算。
作者:小咸鱼YYY
资料来源:blogs.com/pythonywy/p/11082153.html.
关于作者:路再长,也是一步一步走出来的,路再短,也是不迈开脚走不到的。
本作品署名-非商业使用-无4.0国际版解读?许可,请注明作者和出处。
分类:?爬行动物擅长写字?关注我收藏此文,小咸鱼YwY
关注点-4
粉丝-302+加关注00上一篇:?描述符\获取/设置/删除,初始化/新建/调用,元类
接下来:?网络框架,互联网组成,OSI七层协议,抽象层贴@么?小咸鱼YYY?读书(1584)?注释(3)编辑收藏
评论列表#1楼2019-06-25 13:26?感谢大家的支持(0)?异议(0)#2楼2019-06-25 13:36?惊艳2感谢支持(0)?反对(0)# 3楼【楼主】?2019-06-25 14:07?小咸鱼YwY@惊艳二座
不客气支持(0)?异议(0)刷新评论刷新页面,返回置顶注册用户登录后再发表评论。拜托了。登录?还是?注册?参观?网站主页。建议多了解你。博客园发起问卷调查,帮助社区升级。
推荐50万行以上的VC++源代码:大型组态工业控制,电力仿真CAD,GIS源代码库。
推荐开放下载!OSS操作和维护基本实用手册
个人信息
构建程序的过程本质上就是调试规范的过程——点击查看博主生活照。568972484
微信:?YwYbetheone
个人博客:?杨先生的博客
个人音乐网站:?爱琴海音乐
收音机:?精通python爬虫每天两分钟。小小咸鱼YwY
花园时代:?1年零2个月
粉丝:?302
关注:?4+注意
& lt2020年7月>
太阳
一个
二
三
四
五
六
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
我的标签
Drf框架(15)
Vue-CLI(13)
电子商务相关抓取(6)
论坛(6)
挂钩框架弗里达(5)
龙卷风(4)
附录(3)
Java(3)
Git详细操作(3)
定时任务和异步任务(3)
更多
积分和排名
整数-190814
排名-2915
作文分类?(572)
姜戈(61)
烧瓶(16)
github(9)
去(17)
jupyter笔记本(1)
linux(20)
Python学习日记(116)
外壳(1)
泰波拉(2)
vs(1)
Vs自学日记(7)
Vue(26)
并发编程(8)
博客花园(10)
个人博客建设(6)
强制按钮题库(22)
爬行动物(127)
该前端(50)
数据库(22)
微信小程序(11)
小程序(22)
异常(17)
论文档案?(494)
2020年7月(8)
2020年6月(14)
2020年5月(4)
2020年4月(9)
2020年3月(10)
2020年2月(5)
65438+2020年十月(10)
2019 12 (13)
2019 165438+十月(49)
2019 10 (78)
2065438+2009年9月(76)
2065438+2009年8月(74)
2065438+2009年7月(48)
2065438+2009年6月(41)
2065438+2009年5月(48)
四月2019 (7)
最新评论
1.回复:博客花园美化小火箭
谢谢你
彼得威廉
2.回复:前端实现文件下载的所有方式。
酷毙了。。。。。。。。。。。。。。。。。。。。。。。。。。。。
-小宝桃
3.关于:DRF框架中的jwt认证和自定义jwt认证。
@嗨,阿良看过视频了。...
-小咸鱼YYY
4.关于:DRF框架中的jwt认证和自定义jwt认证。
看哥哥的博客应该也是老男孩的哥哥。这篇文章真的很详细
嗨,阿良。
5.回复:爬行动物
@小在龙...
-小咸鱼YYY
6.回复:爬行动物整理
老板,我研究极限验证码的破解方法已经有一段时间了,但是滑块总是跑偏,解决了。
-小在龙
7.回复:python日记整理
@十七指数谢谢...
-小咸鱼YYY
8.回复:python日记整理
强烈的
-十七指数
9.Re:GO语言介绍和开发环境配置
我研究过你,也关注过你。
-十七指数
10.re:用于Python crawler网页解析的parsel模块
我的名字是刘小华。密码是什么?...
-小咸鱼YYY
阅读排行榜
1.python爬虫(抓取图片)(16036)
2.python爬虫(抓取视频)(13072)
3.python-爬虫学习目录(4164)
4.django根据现有的数据库表生成模型类(3446)
5.巨蟒日记整理(3222)
6.Python crawler网页解析的parsel模块(3084)
7.JS中的滚动滚动关联(2906)
8.熊猫模块(详细分类),pd.concat(后续补充)(2884)
9.Scrapy (2799)中的响应属性和内容提取
10.Python3安装使用urllib2包的小坑(1933)
版权?2020小小咸鱼YYY
动力来自。Kubernetes上的NET Core