Python XPath超详细教程

1.什么是Xpath

                1.概念:XPath(XML Path Language):XML路径语言,用来确定XML文档中某部分位置的语言

2.如何使用首先我们需要去Python库里进行下载在终端(按住wid+r然后会有一个输入框在里面输入cmd就会进入终端)然后输入下面的代码就好了

pip install lxml

下载这个吧代表这个就可以用了还有一个爬网页的库叫requests_html也是到终端去下载

pip install requests_html

下载好后可以运行一下

import requests_htmlsession = requests_html.HTMLSession()resp = session.get('https://www.vcg.com/creative-image/dongwu/') r = resp.html   print(r)

如果还进行了报错估计就是还少一个插件去终端进行下载就好了

pip install lxml_html_clean

然后在运行就好了就会出现

<HTML url='https://www.vcg.com/creative-image/dongwu/'>

 就说明安装好了

2.Xpath的基本操作其实可以去他的官方文档去看的

https://zhuanlan.zhihu.com/p/376399749

2.Xpath的简单介绍使用

1.Xpath规则:

        nodeName——————————————选取此节点的所有子节点

        /——————————————————从当前节点选择直接子节点

        //———————————————————从当前节点选择子孙节点

        .————————————————————————选择当前节点

        ..————————————————————选取当前节点的父节点

        @——————————————————————————选取属性

2.Xpath基础使用:

        ①. 网页初始化      html = etree.HTML(“网页源码”)

        ②. 使用html.xpath()方法进行解析

3.简单的案列快速了解

        根据标签获取————eg:html.xpath("//li/a")————从li这个节点下面找到a标签这个链接

        根据属性获取——eg:html.xpath("//li[@class='item-3']")——从li这个节点上面去早带有class='item-3'这个属性

        获取属性的值——eg:html.xpath("//a[@href='https://hao.360.cn/?a1004']/../@class")——从a这个节点上面找带有href='https://hao.360.cn/?a1004'这个属性的a链接属性附近找带有class属性的标签

        获得文本信息——eg:html.xpath("//li/a/text()")——从il这个节点下面找到a节点然后拿到a连接的文本内容

3.高级使用:

匹配属性以XXX开头的标签——eg:xpath("//li[starts-with(@class,'item-')]/a/text()")

属性多个值匹配—— eg:html.xpath("//li[contains(@class,'one')]/a/text()")——
                          ——  eg:html.xpath("//li[@class='item-1']") ——————class = "item-1 one"

多属性匹配——eg:html.xpath("//li[contains(@class,'two') and @name='first']/a/text()")

根据顺序选择:
    eg:html.xpath("//li[2]/a/text()")
    eg:html.xpath("//li[last()]/a/text()")
    eg:html.xpath("//li[last()-1]/a/text()")
    eg:html.xpath("//li[position()<=3]/a/text()")

这只是最基础的介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科普文:贝叶斯过滤器判定垃圾邮件

简介 贝叶斯分类的运作是借着使用标记(一般是字词&#xff0c;有时候是其他)与垃圾邮件、非垃圾邮件的关连&#xff0c;然后搭配贝叶斯推断来计算一封邮件为垃圾邮件的可能性。 贝叶斯垃圾邮件过滤是非常有威力的技术&#xff0c;可以修改自己以符合个别使用者的需要&#xff0…

C# Onnx Yolov8-OBB 旋转目标检测 行驶证副页条码+编号 检测,后续裁剪出图片并摆正显示

C# Onnx Yolov8-OBB 旋转目标检测 行驶证副页条码编号 检测&#xff0c;后续裁剪出图片并摆正显示 目录 效果 模型信息 项目 代码 下载 效果 模型信息 Model Properties ------------------------- date&#xff1a;2024-06-25T10:59:15.206586 description&#xff1a;…

JavaScript Array(数组)

JavaScript Array(数组) JavaScript 中的 Array(数组)是一种用于存储数据的集合,它允许我们存储多个数据项,并可以通过索引来访问这些数据项。数组是 JavaScript 中非常基础且强大的数据结构,广泛应用于各种编程场景。 数组的创建 在 JavaScript 中,创建数组的方式有…

讯飞星火通过API接入

国内的GPT王者讯飞星火 如果你想暴富 可以关注一下科大讯飞 看看它的股票走势 每次讯飞星火发布新版本的时候 都掀起了一个小涨停 科大讯飞作为国内领先的人工智能企业 常年以来积累的优势 包括智能客服、语音识别、机器翻译等 多场景的大量应用 铺垫了海量的训练数据…

【分布式】Pytorch在多GPU环境的分布式训练中常见问题汇总

文章目录 第一部分:分布式训练的基本概念1. 分布式训练简介2. 关键概念第二部分:环境设置1. 安装和配置2. 初始化进程组第三部分:模型构建与封装1. 构建模型2. 注意事项第四部分:数据处理1. DataLoader2. 数据分割第五部分:训练过程第六部分:调试和优化1. 调试技巧2. 性能…

PostgreSQL 安全性与权限管理(八)

1. 用户和角色管理 1.1 创建角色 在 PostgreSQL 中&#xff0c;角色可以是用户或组的抽象概念&#xff0c;用于管理数据库的访问权限。 1.1.1 创建角色 CREATE ROLE role_name; 1.1.2 赋予角色权限 GRANT permission_type ON object TO role_name; 1.2 用户管理 用户是…

React 19 新特性集合

前言&#xff1a;https://juejin.cn/post/7337207433868197915 新 React 版本信息 伴随 React v19 Beta 的发布&#xff0c;React v18.3 也一并发布。 React v18.3相比最后一个 React v18 的版本 v18.2 &#xff0c;v18.3 添加了一些警告提示&#xff0c;便于尽早发现问题&a…

PostgreSQL 分区表与并行查询(十)

1. 分区表概述 1.1 什么是分区表 分区表是将大表分割成更小、更可管理的部分的技术。每个分区表都可以单独进行索引和查询&#xff0c;从而提高查询性能和管理效率。 1.2 分区策略 1.2.1 基于范围的分区 按照时间范围或者数值范围进行分区&#xff0c;如按月或按地区。 C…

利用百数应用优化制造细节,提升生产效率的技术实践

制造管理是确保企业高效、高质生产的核心环节&#xff0c;对于提高企业的运营效率、质量控制、成本控制、交货期保障、资源优化、创新能力以及风险管理等方面都具有重要意义&#xff0c;它能帮助企业在激烈的市场竞争中保持领先地位&#xff0c;同时实现资源的有效利用和风险的…

CSS|02 基本选择器

选择器 什么是选择器 选择器是指通过一定的语法规则选取到对应的HTML标记&#xff0c;然后给这个对应的HTML标记设置样式。 选择器分为四大类&#xff1a;基本选择器、复合选择器、 伪类选择器、属性选择器基本选择器通用选择器&#xff1a;将匹配HTML所有标签。不建议使用。…

顺序栈与链式栈

目录 1. 栈 1.1 栈的概念 2. 栈的实现 3. 顺序栈的实现 3.1 顺序栈的声明 3.2 顺序栈的初始化 3.3 顺序栈的入栈 3.4 顺序栈的出栈 3.5 顺序栈获取栈顶元素 3.6 顺序栈获取栈内有效数据个数 3.7 顺序栈判断栈是否为空 3.8 顺序栈打印栈内元素 3.9 顺序栈销毁栈 3…

[数据集][目标检测]鸡蛋缺陷检测数据集VOC+YOLO格式2918张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2918 标注数量(xml文件个数)&#xff1a;2918 标注数量(txt文件个数)&#xff1a;2918 标注…

什么是大语言模型

前言 自从去年chatgpt横空出世以来&#xff0c;它火爆也让大语言模型这个词变的很流行&#xff0c;到底什么是大语言模型&#xff0c;今天从初学者的角度介绍一下大语言模型的基本概念、组成部分和基本工作流程等。下面的介绍中如果涉及到一些专业术语不太理解&#xff0c;也没…

携程暑期实习一面

携程暑期实习一面 4.7 50min 微核 两段实习时间节点&#xff0c;为什么想这么早去实习。讲一下测试工作的流程是什么样子的对于测试用例方法设计上你了解哪些讲一下你所提到的等价类划分法和边界值分析法的具体概念&#xff0c;还了解哪些方法一个场景&#xff0c;web端或者…

算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 决策树是一种简单直观的机器学习算法&#xff0c;它广泛应用于分类和回归问题中。它的核心思想是将复杂的决策过程分解成一系列简单的决…

AI学习指南机器学习篇-朴素贝叶斯的优缺点

AI学习指南机器学习篇-朴素贝叶斯的优缺点 在机器学习领域&#xff0c;朴素贝叶斯算法是一种常见且有效的分类方法。它基于贝叶斯定理和特征条件独立性假设&#xff0c;广泛应用于文本分类、垃圾邮件过滤、情感分析等领域。然而&#xff0c;朴素贝叶斯算法也存在一些局限性和缺…

【推荐】Prometheus+Grafana企业级监控预警实战

新鲜出炉&#xff01;&#xff01;&#xff01;PrometheusGrafanaAlertmanager springboot 企业级监控预警实战课程&#xff0c;从0到1快速搭建企业监控预警平台&#xff0c;实现接口调用量统计&#xff0c;接口请求耗时统计…… 详情请戳 https://edu.csdn.net/course/detai…

Word页码设置,封面无页码,目录摘要阿拉伯数字I,II,III页码,正文开始123为页码

一、背景 使用Word写项目书或论文时&#xff0c;需要正确插入页码&#xff0c;比如封面无页码&#xff0c;目录摘要阿拉伯数字I&#xff0c;II&#xff0c;III为页码&#xff0c;正文开始以123为页码&#xff0c;下面介绍具体实施方法。 所用Word版本&#xff1a;2021 二、W…

HTTPS 代理的优点和缺点是什么?

HTTPS&#xff08;超文本安全传输协议&#xff09;作为一种基于HTTP加上SSL安全层的网络通信协议&#xff0c;已经成为互联网上广泛使用的IP协议之一。它在保证信息安全和隐私方面具有很多优势&#xff0c;但也存在一些缺点。接下来&#xff0c;我们就来探究一下HTTPS协议的优缺…

探索加拿大IT行业的移民优势与职业前景

随着全球化的不断深入&#xff0c;人才流动已成为推动经济发展的重要力量。加拿大以其开放的移民政策和对高技能人才的渴求&#xff0c;成为全球IT专业人士向往的目的地。 一、快速移民通道 加拿大政府高度重视IT行业人才&#xff0c;为IT专业人士提供了快速移民通道。根据最…