xpath语法和指令系统
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 第三方库名称 - 卸载指定的第三方库
xpath语法和指令系统相关推荐
- 爬虫之xpath语法-常用节点选择语法
爬虫之xpath语法-常用节点选择语法 可以通过通配符来选取未知的html.xml的元素 1.1 选取未知节点的语法 通配符 描述 * 匹配任何元素节点. node() 匹配任何类型的节点. 1.2 ...
- 爬虫之xpath语法-节点修饰语法
爬虫之xpath语法-节点修饰语法 可以根据标签的属性值.下标等来获取特定的节点 1.1 节点修饰语法 [用[ ]方括号修饰标签或节点] 1.2 关于xpath的下标 在xpath中,第一个元素 ...
- 爬虫之 lxml模块和xpath语法
爬虫之 lxml模块和xpath语法 对html或xml形式的文本提取特定的内容,就需要我们掌握lxml模块的使用和xpath语法. lxml模块可以利用XPath规则语法,来快速的定位HTML\XM ...
- Xpath语法-爬虫(一)
前言 这一章节主要讲解Xpath的基础语法,学习如何通过Xpath获取网页中我们想要的内容;为我们的后面学习Java网络爬虫基础准备工作. 备注:此章节为基础核心章节,未来会在网络爬虫的数据解析环节经 ...
- python xpath语法-XPath语法和lxml模块(数据提取)
XPath语法和lxml模块 XPath lxml库 1.什么是XPath? XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素 ...
- python xpath语法-Python爬虫之XPath语法和lxml库的用法
本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 安装 为什么要用这个库 ...
- python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
前言 本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 XPath 即为 ...
- python xpath语法-Python Xpath语法
一.python数据提取xpath 1.beautifulsoup xpath 正则表达式 2.xpath是一种在XML和HTML文档中查找信息的语言,可用来在XML和HTML中对元素进行遍历 Chr ...
- python xpath语法-python xpath 基本用法
发布时间: pythonercn 8 months, 3 weeks ago 在进行网页抓取的时候,分析定位html节点是获取抓取信息的关键,目前我用的是lxml模块(用来分析XML文档结构的,当然也 ...
最新文章
- python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票、基金的持仓结构(treemap with squarify package)
- svn教程----TortoiseSVN常用操作
- java中输入char类型_java中如何输入char类型
- boost::geometry::line_interpolate用法的测试程序
- 我是如何解决asp.net程序在dreamWeaver中布局乱码的问题
- cdoj 1092 韩爷的梦
- 《Java程序员,上班那点事儿》征文活动获奖名单
- python 通达信函数_python调用通达信公式,大智慧公式转python
- VSCode沙绿色主题设置
- 显卡compute capability7.5 Python3.5.2环境下编译配置caffe
- 计算机数学基础 周密,一位计算机牛人的心得谈计算机和数学免费.doc
- Java.Canvas
- 第一次找工作/实习前需要准备的东西(互联网行业)
- firefly AIO-RK3399J Linux SDK编译报错解决
- 非标自动化设备涉及的行业有哪些?
- 【SequoiaDB|巨杉数据库】整体架构Ⅰ
- 专业名词解释 - DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV 记录,TTL
- 诺基亚(Nokia 5110)5110屏驱动(STM32)
- 房屋租赁系统的C++实现
- 欧盟ERP能效测试项目和标准
热门文章
- html中js判断字数截取,JS判断字符串字节数并截取长度的方法
- 〖Python WEB 自动化测试实战篇⑬〗- 实战 - 数据驱动在自动化测试中的应用
- Android开发工具---SQLiteManager插件
- 安装gcc, cmake和itk
- nfs挂载报错mount.nfs: Stale file handle解决(失效文件句柄)
- 如何在Android中取得当前进程名
- 失败的自我介绍,让我失去进入微软的机会
- iOS开发视频教程《时空猎人横版过关》-任亮-专题视频课程
- 转载:16条有用的句子
- c语言 strcpy作用,C语言strcpy的用法。