首页 > 编程语言 >python爬虫连载21

python爬虫连载21

时间:2024-09-15 22:22:11浏览次数:11  
标签:classroom 21 python 所有 爬虫 选取 teacher student 节点

XPath轴

轴定义了当前节点和所选节点的树关系,

绝对路径,以正斜杠开始(/),例如/step1/step2/……

相对路径,不以正斜杠开始(/),例如step/step2/……

步(step)的语法:轴(axis)::节点测试(node-test)[谓语]

谓语是零个或者多个。

 

轴名称

含义

child

选取当前节点的所有子元素

parent

选取当前节点的父节点

ancestor

选取当前节点的所有先辈

ancestor-or-self

选取当前节点的所有先辈

descendant

选取当前节点的所有后代元素

descendant-or-self

选取当前节点的所有后代元素以及当前节点本身

preceding

选取文档中当前节点的开始标记之前的所有节点

following

选取文档中当前节点的结束标记之后的所有节点

preceding-sibling

选取当前节点之前的所有同级节点

following-silbing

选取当前节点之后的所有同级节点

self

选取当前节点

attribute

选取当前节点的所有属性

namespace

选取当前节点的所有命名空间节点

 

例子:

<?xml version="1.0"encoding="IS0-8859-1"?>

<classroom>

       <student>

              <id>1001</id>

              <name lang="en">marry</name>

              <age>20</age>

              <country>China</country>

       </student>

       <student>

              <id>1002</id>

              <name lang="en">jack</name>

              <age>25</age>

              <country>USA</country>

       </student>

       <teacher>

              <classid>1</classid>

              <name lang="en">tom</name>

              <age>50</age>

              <country>USA</country>

       </teacher>

</classroom>

选取当前classroom节点中子元素的teacher节点

/classroom/child::teacher

选取所有id节点的父节点

//id/parent::*

选取所有以classid为子节点的祖先节点

//classid/ancestor::*

选取classroom节点下的所有后代节点

/classroom/descendant::*

选取所有以student为父节点的id元素

//student/descendant::id

选取所有classid元素的祖先节点及本身

//classid/ancestor-or-self::*

选取/classroom/student本身及所有后代元素

/classroom/student/descendant-or-self::*

选取/classroomteacher之前的所有同级节点,结果就是选择了所有的 student节点

/classroom/teacher/preceding-sibling::*

选取/classroom中第二个student 之后的所有同级节点结果就是选择了teacher节点

/classroom/student[2]/following-sibling::*

选取/classroom/teacher/节点所有之前的节点(除其祖先外),不仅仅是student节点,还有里面的子节点

/classroom/teacher/preceding::*

选取/classroom中第二个student 之后的所有节点,结果就是选择了teacher节点及其子节点

classroom/student[2]/following::*

选取 student节点,单独使用没有什么意思。主要是跟其他轴一起使用,如 ancestor-or-self,descendant-or-self

//student/self::*

选取/classroom/teacher/name节点下的所有属性

/classroom/teacher/name/attribute::*

 

 

标签:classroom,21,python,所有,爬虫,选取,teacher,student,节点
From: https://blog.51cto.com/u_16427934/12025936

相关文章

  • 【Python】基本使用
    目录变量的类型整数int浮点数float字符串str字符串长度格式化字符串布尔类型  动态类型注释 获取输入浮点数比较多元赋值for循环函数的定义和调用创建函数/定义函数调用函数/使用函数列表创建列表切片操作遍历列表新增元素判断元素是否在列表中......
  • 【Python】01.Python 介绍及其环境配置
    一、计算机的基础概念1.1什么是计算机所谓计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等等功能,以至于可以自动的完成非常复杂的工作。以下这些都可以称为“计算机”:1.2冯诺依曼体系结构而一台计算机通常由这几个部分组成:CPU存储器(内存,硬盘......
  • 总结:1037 - CSP 2021 提高级第一轮
    我的提交记录与结果以比较为基本运算,对于\(2n\)个数,同时找到最大值和最小值,最坏情况下需要的最小的比较次数为()。\(\textttA\).4n-2\(\textttB\).3n+1\(\color{#5eb95e}\texttt{C}\).3n-2\(\color{#e74c3c}\textttD\).2n+1【解析】:首先先将原数组两两分组。每组......
  • 使用python对交换机进行排障自动化运维
    importparamikoimportosimporttimeimportrandomimportdatetimeimportpandasaspdimportreimportnumpyasnp#fromsqlalchemyimporttext,create_engine#importpsycopg2#frompsycopg2importsql#fromsqlalchemy.ormimportsessionmaker#from......
  • python+flask计算机毕业设计社区医疗服务管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加快和人口老龄化的加剧,社区医疗服务在居民健康管理中扮演着越来越重要的角色。传统的社区医疗服务模式面临着信息孤岛、......
  • python+flask计算机毕业设计失物招领系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在快节奏的现代生活中,人们频繁地穿梭于各种公共场所,如学校、商场、交通枢纽等,不可避免地会出现物品遗失或错拿的情况。传统的失物招领方式......
  • python+flask计算机毕业设计汽车租赁系统设计与实现(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和人们生活水平的提高,汽车租赁作为一种灵活便捷的出行方式,日益受到广大消费者的青睐。传统的租车模式存在信息不对称......
  • python+flask计算机毕业设计基于协同过滤算法的个性化智能图书推荐系统(程序+开题+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在信息爆炸的时代,图书馆作为知识传播与积累的重要场所,面临着如何高效、精准地向读者推荐其可能感兴趣的图书资源的挑战。传统的图书推荐方......
  • Python中的内存池机制
    在Python中,内存管理是一个复杂但至关重要的主题,它直接关系到程序的性能和稳定性。Python的内存管理机制包括对象的分配、追踪以及回收,其中内存池(MemoryPool)是这一机制中的一个重要组成部分。内存池机制通过预先分配和重用小块内存来减少内存分配和释放的开销,从而提高程序的执......
  • Python编写简单登录系统的完整指南
    在现代应用中,用户认证和登录系统是一个非常重要的功能。通过登录系统,应用能够识别用户的身份,并为其提供相应的权限和服务。本文将介绍如何使用Python编写一个简单的登录系统,包括用户注册、登录验证、密码加密等功能。通过这一教程,将学习如何构建一个基本的用户登录系统,并理解其......