XPath语法全解析:从基础到高级应用
"XPath语法详解" XPath(XML Path Language)是一种在XML文档中查找信息的语言,它被设计用来选取XML文档中的节点,包括元素、属性、文本等。XPath使用路径表达式来选取XML文档中的节点,这些路径表达式类似于文件系统的路径。 在实例1中,我们看到了XPath路径的基本用法: - `/AAA` 表示选取XML文档的根元素`<AAA>`。 - `/AAA/CCC` 表示选取根元素`<AAA>`下的所有`<CCC>`子元素。 - `/AAA/DDD/BBB` 则选取`<AAA>`的子元素`<DDD>`下的所有`<BBB>`子元素。 实例2展示了路径以双斜线`//`开头的情况: - `//BBB` 选取文档中所有名为`<BBB>`的元素,不论它们在什么层级。 - `//DDD/BBB` 则选取所有父元素为`<DDD>`的`<BBB>`元素。 实例3中,星号`*`是一个通配符: - `/AAA/CCC/DDD/*` 选取所有属于`<DDD>`子元素的直接子节点,无论它们是什么标签名。 除了这些基础操作,XPath还有更丰富的语法: - `@attribute_name` 用于选取属性,例如`//element[@attr='value']`选取所有`attr`属性值为`value`的`element`元素。 - `text()` 函数选取元素的文本内容,如`//element/text()`。 - `.` 代表当前节点,而`..`表示父节点。 - `[]` 用于过滤条件,如`//element[condition]`选取满足条件的`element`元素。 - `*` 和 `+` 可以用于组合路径,`//element1/*`选取所有`element1`的子元素,`//element1[element2]`选取包含`element2`子元素的`element1`。 - `last()` 和 `position()` 函数用于获取当前节点在兄弟节点中的位置,例如`//element[position()=last()]`选取最后一个`element`元素。 XPath还支持算术运算、字符串函数、布尔运算等,使其在处理XML数据时具有很高的灵活性和实用性。通过熟练掌握XPath,可以高效地导航XML结构,进行数据提取和处理。
剩余32页未读,继续阅读
# 目标网站:www.hongniuziyuan.com # 爬取下来的数据格式 # 保存到记事本中 # 电影名字|导演|演员|评分|所属地区|播放地址 # 变形金刚|小斯蒂芬·卡普尔|安东尼·拉莫斯,多米尼克·菲什巴克,彼特·库伦,朗·普尔曼,彼特·丁拉|0.0|美国|https://hnzy.bfvvs.com/play/YervnY4e import requests from lxml import etree response = requests.get("https://www.hongniuziyuan.com/") html = response.content.decode() # 将二进制数据转换为文本数据 # response.text 文本数据 # print(html) # 将我们字符串转换为一个dom树 dom = etree.HTML(html) # 目的就是为了使用xpath语法去寻找我们的想要的标签 # xpath语法 # xs = dom.xpath('/html/body/div[3]/div[3]/ul/div/li/div/a/img') xs = dom.xpath('/html/body/div[4]/ul[2]/li/strong/span[1]/a') #元素:妖神记 第五季 [第328集完结] #xpath:/html/body/div[4]/ul[2]/li/strong/span[1]/a for s in xs:
- 粉丝: 24
- 资源: 77
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能