XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上.
节点的关系
- 父(Parent)
- 子(Children)
- 同胞(Sibling)
- 先辈(Ancestor)
- 后代(Descendant)
谓语
谓语被嵌在方括号内,用来查找某个特定的节点或包含某个制定的值的节点
选择XML文件中节点:
- element(元素节点)
- attribute(属性节点)
- text() (文本节点)
- concat(元素节点,元素节点)
- comment (注释节点)
- root (根节点)
XPath工具
- 浏览器-元素-Ctrl+F
- 浏览器-控制台-
$x(表达式)
- Xpath helper (安装包需要科学上网)
安装
python若使用需要安装lxml模块
pip install lxml
Xpath实战-纵横网
from fake_useragent import UserAgent
import requests
from lxml import etree
from time import sleep
for i in range(1,6):
print(f'========正在获取第{i}页数据=======')
url = f'http://www.zongheng.com/rank/details.html?rt=1&d=1&p={i}'
headers = {'User-Agent':UserAgent().chrome}
resp = requests.get(url,headers =headers)
# 构造etree对象
e = etree.HTML(resp.text)
names = e.xpath('//div[@class="rank_d_b_name"]/@title')
for name in names:
print(name)
sleep(1)