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)