- 一、必看内容!!!
- 1)简短介绍
- 2)必备知识
- 3)为什么我要写这篇文章?
- 4)强烈推荐教程专栏
- 二、开始使用xpath
- 2.1 常见的 HTML 操作
- 2.2 常见XML操作
- 2.2.1 选择一个元素
- 2.2.2 选择文字
- 2.3 浏览器使用xpath调试
- 2.3.1演示案例一
- 三、检查节点是否存在
- 3.1 案例一
- 3.2 案例二
- 四、检查节点的文本是否为空
- 4.1 案例一
- 4.2 案例二
- 五、通过属性查询
- 5.1 查找具有特定属性的节点
- 5.2 通过属性值的子串匹配来查找节点
- 5.3 通过属性值的子字符串匹配查找节点(不区分大小写)
- 5.4 通过匹配属性值末尾的子字符串查找节点
- 5.5 通过匹配属性值开头的子字符串查找节点
- 5.6 查找具有特定属性值的节点
- 六、查找包含特定属性的元素
- 6.1 查找具有特定属性的所有元素(1)
- 6.2 查找具有特定属性值的所有元素(2)
- 七、查找包含特定文本的元素
- 八、多次强调的语法
- 8.1 XPath 轴的语法
- 8.2 XPath选取节点语法
- 8.3 Xpath谓语
- 8.4 Xpath选取未知节点
- 8.5 Xpath选取若干路径
- 九、获取相对于当前节点的节点
- 9.1 基本语法
- 9.2 寻找祖先节点
- 9.4 寻找兄弟节点
- 9.5 寻找祖父节点(2)
- 9.6 寻找父母节点
- 9.7 寻找当前节点之后的所有节点
- 9.8 寻找当前节点之前的所有节点
- 9.9 实例一
- 9.10 实例二
- 十、获取节点数
- 10.1 实例一
- 10.2 实例二
- 十一、根据子节点数选择节点
- 11.1 实例一
- 11.2 实例二
- 十二、选择名称等于或包含某个字符串的节点
- 12.1 搜索名称包含 Light 的节点
- 12.2 搜索名称以 Ball 结尾的节点
- 12.3 搜索名称以 Star 开头的节点
- 12.4 搜索名称为 Light、Device 或 Sensor 的节点
- 12.5 搜索名称为 light 的节点(不区分大小写)
- 12.6 搜索名称为 light 的节点(不区分大小写)
- 十三、粉丝福利
- 十四、总结
XPath 是一种用于寻址 XML 文档部分的语言。它在 XSLT 中使用并且是 XQuery 的子集。这个库也可用于大多数其他编程语言。
2)必备知识- 了解基本的html和xml语法和格式
- 没有了,如果你不会html和xml,超过2000收藏,我出一篇html详细教程,至于怎么达到2000赞,看各位粉丝了。
在我前面的几十篇文章,写了上百万字把python的所有基础已经讲得很明白了,不管你是不是小白,跟着学都能学会,同时在我的粉丝群,我还会对教程中的问题进行答疑,所以包教包会的口号,我从来不是吹的。
这里是我的基础教程专栏:python全栈基础详细教程专栏系列
当然,如果你对qq机器人制作感兴趣请查看专栏:qq机器人制作详细教程专栏
这两个专栏,我为什么放在一起?第一个专栏是基础教程,第二个专栏是进阶,所以你在不会基础之前,请不要冒然学习机器人制作。
说了半天,我还没说为什么写这一篇的原因,前面的基础我已经差不多写完了,基础不会的自己去看我专栏,上百万字写基础,我已经很用心教大家了。基础过后,我们即将开始学爬虫,因此xpath你不得不掌握。认真跟着我学,多看几天就会了。
- python全栈基础教程系列
- qq机器人小白教程系列
- matlab数学建模小白到精通系列
- Linux操作系统教程
- SQL入门到精通教程系列
其它专栏,看你自己个人兴趣,这五个专栏我是主打,并是我强烈推荐。
有任何问题可以粉丝群问我:
如果有一段html如下:
link
Element One
Element Two
在整个页面中查找具有特定 id 的元素:
/*[starts-with(local-name(),"Star")]
或者
//*[starts-with(local-name(),"Star")]
输出
12.4 搜索名称为 Light、Device 或 Sensor 的节点David Perry Lindsay Rowen
假设xml如下:
sun satellite human Milky Way
路径
/Galaxy/*[local-name()='Light' or local-name()='Device' or local-name()='Sensor']
说白了就是多了几个or而已。
或者
//*[local-name()='Light' or local-name()='Device' or local-name()='Sensor']
输出
12.5 搜索名称为 light 的节点(不区分大小写)sun satellite human
假设xml如下:
sun satellite human Milky Way
路径
/Galaxy/*[lower-case(local-name())="light"]
或者
//*[lower-case(local-name())="light"]
输出
12.6 搜索名称为 light 的节点(不区分大小写)sun
假设xml如下:
sun satellite human Milky Way
路径
/Galaxy/*[lower-case(local-name())="light"]
或者
//*[lower-case(local-name())="light"]
输出
十三、粉丝福利sun
前期已经送出很多基础书和数据分析书籍,本次送人工智能的书籍如下:
参与活动方式:
- 三连本篇文章(点赞评论收藏),截好图
- 加入粉丝群:970353786私聊我(群主),截图发给我
- 关注公众号:
送书仅在于个人心意,以此鼓励大家学习,只随机送两本。这本书还不错,喜欢的也可以去京东购买。
十四、总结这位大佬也写了一篇xpath:十五分钟掌握python爬虫XPath库 感兴趣可以对照我的看看。
python全栈基础专栏我已经讲完大部分基础,现在我们进军爬虫,本篇内容希望大家一定掌握。超过2000收藏,我补一篇html网页基础。写了我周末两个通宵,希望大家这次支持,谢谢。至于我送书活动,货真价实,仅代表个人心意,鼓励大家学习。
公众号 发送:xpath 即可领取本篇文章的电子版。



