xpath语法和指令系统
一、认识xpath和xml数据
# lxml是Python基于xpath做数据解析的工具
-
xpath数据解析 - 通过提供标签路径来获取标签(xpath指的就是标签的路径)
1)xpath基本感念
树: 整个html内容或者整个xml内容
节点:树结构中的每个标签(元素)就是一个节点
根节点:树结构中的第一个节点就是根节点(网页对应树的根节点是html标签)
节点内容:双标签的标签内容
节点属性:标签的标签属性2)路径 - 目标节点在整个树结构中的位置信息
-
xml数据格式
xml和json都是通用的数据格式,可以用于不同编程语言的程序之间进行数据交流。
json更小更快;xml更安全
二、xpath语法
1.创建树获取树的根节点
etree.XML(xml数据)
etree.HTML(html数据)
2.通过xpath路径获取节点(标签)
节点对象.xpath(路径) - 获取指定路径对应的所有的标签
xpath语法(路径的写法):
1)绝对路径:不管xpath点前面是哪个标签,绝对路径都是以’/'开头,从根节点开始往后写
2)相对路径:在写路径的时候用’.‘表示当前节点,用’…'表示当前节点的上层节点。谁去点的xpath当前节点就是谁
3)全路径:在写路径的时候用’//'开头,获取标签的时候是在整个树中获取所有满足路径结构的标签
1)绝对路径
在路径的最后加’/text()'可以获取标签内容
注意:不断xpath前面是谁去点的,写绝对路径的时候都必须从根节点开始写
2)相对路径
相对路径中’./‘开头的时候,’./'可以不写
3)全路径
-
xpath的谓语(条件) - 在路径中需要添加条件的节点后加’[谓语]’
1)和位置相关条件
[N] - 第N个节点
[last()] - 最后一个节点
[last()-N] - [last()-1]: 倒数第2个
[position()>N]、[position()<N]、[position()>=N]、[position()<=N]
2)和属性相关条件
[@属性名=值] - 获取指定属性为指定值的标签
[@属性名] - 获取拥有指定属性的标签
3)和子标签内容相关条件
[子标签名=值] - 获取指定子标签的标签内容为指定值的标签
[子标签名>值] - 获取指定子标签的标签内容大于指定值的标签
4.获取标签内容和标签属性
获取标签内容: 获取标签的路径/text() - 获取路径选中的所有的标签的标签内容
获取标签内容: 获取标签的路径/@属性名 - 获取路径选中的所有的标签的指定属性的值
5.统配符*
在xpath路径中可以用*来代替任何标签或者任何属性
6.若干(分支) - |
路径1|路径2 - 依次获取|分开的所有路径对应的内容
三、指令操作系统
执行指令的工具: Windows - 命令提示符(cmd)
Mac - 终端
1. 运行python程序 - 运算程序的计算机必须先安装python环境
win: python py文件路径
mac: python3 py文件路径
注意:windows使用python指令执行Python程序的时候必须保证写指令的位置和py文件在同一个盘下面;如果不在同一个盘,执行指令前先切盘
2. 进入文件夹: cd
cd 文件夹相对路径、文件夹绝对路径
注意:如果是windows操作系统,cd操作如果要跨盘需要先切盘,然后再cd
切盘方法:C:、E:、D:
3. 查看当前文件夹的内容
win: dir
Mac:ls
4. 用指令创建虚拟环境
第一步:找到一个用来放虚拟环境的文件夹
第二步:通过cd指令进入到存放虚拟环境的文件夹中
第三步:创建虚拟环境
python -m venv 虚拟环境名
python3 -m venv 虚拟环境名
第四步:激活虚拟环境
(mac) source 虚拟环境目录/bin/activate
(windows) 虚拟环境目录\ Scripts\activate.bat
第五步:退出虚拟环境(回到系统环境)
deactivate
5.常用pip指令(pip - Python包管理工具)
pip list - 查看当前环境已经安装过的所有的第三方库
pip install 第三方库名称 - 下载并且安装指定的第三方库
pip install 第三方库名称 -i 镜像地址 - 在指定的镜像地址中下载安装
pip install 第三方库名称==版本号 -i 镜像地址
pip install 第三方库名称1 第三方库名称2
pip freeze > 依赖文件名 - 生成依赖文件
pip install -r 依赖文件路径 - 批量安装
pip uninstall 第三方库名称 - 卸载指定的第三方库