python 基础之 xpath

  1. xpath 介绍
    xpath(XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML/HTML 文档中对元素和属性进行遍历,并提取相应元素。
    它也是一种数据提取方式,只不过是针对 HTML/XML 数据,而 RPA 和爬虫主要和 HTML 打交道。

  2. xpath 匹配规则
    nodename 选取此节点的所有子节点
    / 从当前节点选取直接子节点
    // 从当前节点选取子孙节点
    . 选取当前节点
    .. 选取当前节点的父节点
    @ 选取属性
    * 选取具有给定属性的所有元素
    [@attrib] 选取给定属性具有给定值的所有元素
    [@attrib=‘value’] 选取所有具有指定元素的直接子节点
    | 选取两个节点,左右两个
    book[1] 选取第一个 book 元素
    //li[contains(@attrib, value)] 属于模糊定位
    //li[text()=‘xxx’] 选取 li 标签中的值为 xxx 的元素
    //li/text() 选取 li 标签下的文本内容

  3. lxml 库
    lxml 是一个 python 第三方模块,主要的功能是如何解析和提取 HTML/XML 数据
    lxml 和正则类似,是一款高性能的 python HTML/XML 解析器,可以利用 xpath 快速定位特定元素以及节点信息

  4. 使用 lxml 模块

from lxml import etree
string = """

python 基础之 xpath python 基础 """ html = etree.HTML(string) result = html.xpath("//book[contains(@cover,'paper')]/title/text()") print(result)