xpath

作者: lifeLL | 来源:发表于2019-06-09 15:10 被阅读0次
XPath 使用路径表达式在 XML 文档中进行导航

XPath上下文:
当前节点(./): 
如./sender表示选择当前节点下的sender节点集合(等同于下面所讲的"特定元素",如:sender)
父节点(../): 
如../sender表示选择当前节点的父节点下的sender节点集合
根元素(/): 
如/messages表示选择从文档根节点下的messages节点集合.
根节点(/*): 
这里的*是代表所有节点,但是根元素只有一个,所以这里表示根节点。/*的返回结果和/messages返回的结果一样都是messages节点。
递归下降(//): 
XPath中的核心就是节点(Node),定义了7种不同类型的节点: 元素(Element)、属性(Attribute)、文本(Text)、命名空间(Namespace)、处理指令(processing-instruction)、注释(Comment)和文档节点(Document nodes)
这些节点组成一棵节点树,树的根节点被称为文档节点。
路径表达式:  解释
/html/body/ul/li    从根节点开始依照路径选取li元素。返回多个。
//ul/li[1]  还是选取li元素,但是路径多级跳跃到ul/li。[1]表示只取第一个li。
//li[last()]    还是选取li,但路径更跳跃。[last()]表示取最后一个li元素。
//li[@class]    选取根节点的名为li且有class属性的所有后代。
//li[@class=”item”] 选择根节点的名为li且class属性为item的所有后代。
//body/*/li 选取body的名为li的孙子节点。*是通配符,表示任何节点。
//li[@*]    选取所有带属性的li元素。
//body/div | //body/ul  选取body的所有div和ul元素。
body/div    相对路径,选取当前节点的body元素的子元素div。绝对路径以 / 开始。
Xpath的函数很多,涉及到错误、数值、字符串、时间等等,然而我们从网页中提取数据的时候只会用到很少的一部分。其中最重要的就是字符串相关的函数,比如contains()函数。

contains(a, b)

如果字符串a包含字符串b,则返回true,否则返回false。
比如: contains(‘猿人学Python’, ‘Python’),返回true
那么它用在什么时候呢?我们知道,一个html标签的class是可以有多个属性值的,比如:

<div class="post-item text-red text-center">
    ...
</div>
这段html中div有三个class值,第一个表面它是一条发布的消息,后面两个是对格式做了更多的设置。如果我们想提取网页中所有发布的消息,只需要匹配到post-item 即可,这时候就可以用上contains了:

doc.xpath('//div[contains(@class, "post-item")]')

相关文章

  • Python解析库lxml与xpath用法总结

    本文主要围绕以xpath和lxml库进行展开: 一、xpath 概念、xpath节点、xpath语法、xpath轴...

  • Python+Selenium之元素定位XPATH

    XPATH简介: 参考网站:W3school selenium之xpath源码 xpath各种实际用法 XPATH...

  • python爬虫之XPath解析

    XPath 简介: XPath 是一门在 XML 文档中查找信息的语言 什么是 XPath? XPath 使用路径...

  • Python(六十八)xpath案例实战

    07_xpath案例实战/01_xpath.py: 07_xpath案例实战/02_xpath.py: 07_xp...

  • 4.xpath和BeautifulSoup4介绍

    xpath语法:http://www.runoob.com/xpath/xpath-syntax.html xpa...

  • 常用的xpath

    xpath的模糊查询 选取同级节点 获取父级节点 xpath定位 列表时间筛选 xpath获取标签 xpath的s...

  • xpath使用笔记

    xpath学习笔记 xpath简介 xpath 用于在XML文档中通过元素和属性进行导航xpath 使用路径表达式...

  • XPath

    XPath 简介 什么是 XPath?XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准...

  • xpath 和 pyquery

    主题: **xpath 和 pyquery ** xpath 选取节点 谓语 通配符 取多个路径 xpath轴 功...

  • 爬虫解析库XPath使用

    爬虫解析库XPath使用 1.XPath简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于...

网友评论

      本文标题:xpath

      本文链接:https://www.haomeiwen.com/subject/jffnxctx.html