day-02-Xpath用法

Xpath

xpath语法

XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。

  • 节点查询

    • element

      仅限于根节点

  • 路径查询

    • //

      • 查找所有子孙节点,不考虑层级关系
    • /

      • 找直接子节点
  • 谓词查询

    • //div[@id]

      查找所有包含id属性的div节点

    • //div[@id=“maincontent”]

      查找所有id属性等于maincontent的div标签

  • 属性查询

    • //@class

      查找所有的class属性

  • 逻辑运算

    • //div[@id=“head” and @class=“s_down”]

      查找所有id属性等于head并且class属性等于s_down的div标签

    • //title | //price

      选取文档中的所有 title 和 price 元素。

      注意: “|”两边必须是完整的xpath路径

      • //div[contains(@id, “he”)]

        查询所有id属性中包含he的div标签

  • 模糊查询

    • //div[starts-with(@id, “he”)]

      查询所有id属性中包以he开头的div标签

    • //div[ends-with(@id, “he”)]

      查询所有id属性中包以he结尾的div标签
      是有版本差异的

  • 内容查询

    • //div/h1/text()

      查找所有div标签下的直接子节点h1的内容

xpath使用

  • 安装lxml库

    pip install lxml -o pip源 --trusted-host domain

  • pip源

    http://pypi.douban.com/ 豆瓣
    http://pypi.hustunique.com/ 华中理工大学
    http://pypi.sdutlinux.org/ 山东理工大学
    http://pypi.mirrors.ustc.edu.cn/ 中国科学技术大学
    http://mirrors.aliyun.com/pypi/simple/ 阿里云
    https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学

  • 安装xpath插件

  • 导入lxml.etree

from lxml import etree

  • etree.parse()

    解析本地html文件

    • html_tree = etree.parse('XX.html')
  • etree.HTML()

    解析网络的html字符串

    • html_tree = etree.HTML(rsponse.read().decode('utf-8')
  • html_tree.xpath()

    使用xpath路径查询信息,返回一个列表

启动xpath快捷键

  • Ctrl+Shift+X(Windows)
  • Command+Shift+X(OS X)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值