一篇文章彻底搞懂【XPath】的使用方法

xpath语法以及基本使用 xpath过滤xml 阅读详情

声明

本文章中所有内容仅供学习交流使用,不得用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关。

若擅自使用本文讲解的技术而导致的任何意外,作者均不负责。文中若有侵权内容,请立即联系作者删除!

〇:友情提示


  1. 本文章已在微信公众号【逆向学习日记】发布,若在【优快云】中无法全部查看,可以直接点击【一篇文章彻底搞懂【XPath】的使用方法】查看。
  2. 在微信公众号【逆向学习日记】也可以阅读更多文章。
  3. 感谢关注微信公众号和阅读文章的朋友!

Ⅰ:背景

  1. 作为爬虫工程师或者数据采集工程师,我们在采集数据的时候,难免会碰到数据接口返回的格式并不是JSON格式,而是XML或者是HTML格式的数据,我们要解析其中需要的数据就很困难,当然可以用正则表达式来提取。
  2. 作为软件测试工程师,我们在进行web自动化的时候需要进行元素的定位,可能存在其他的方式定位不准确的情况,就需要使用XPath方式来进行元素定位。

Ⅱ:数据准备


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>游戏商店</title>
</head>
<body>
    <div class="gamestore">
        <div class="game" category="ACTION">
            <h2>游戏名称:动作冒险</h2>
            <p>开发者:游戏开发公司A</p>
            <p>发行年份:2020</p>
            <p>价格:¥120</p>
        </div>
        <div class="game" category="RPG">
            <h2>游戏名称:角色扮演</h2>
            <p>开发者:游戏开发公司B</p>
            <p>发行年份:2019</p>
            <p>价格:¥80</p>
        </div>
        <div class="game" category="SIMULATION">
            <h2>游戏名称:模拟人生</h2>
            <p>开发者:游戏开发公司C</p>
            <p>发行年份:2021</p>
            <p>价格:¥60</p>
        </div>
        <div class="game" category="SPORTS">
            <h2>游戏名称:运动竞技</h2>
            <p>开发者:游戏开发公司D</p>
            <p>发行年份:2022</p>
            <p>价格:¥50</p>
        </div>
    </div>
</body>
</html>

Ⅲ:知识探讨

  1. XPath 【XML Path Language】是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。它是XML 路径语言。同样的也支持HTML格式查找。

  2. XPath 使用的是路径表达式来选取 XML/HTML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。【绝对路径、相对路径】

  3. XPath 中含有很多内置函数,可以对字符串、数字、日期等做处理。

  4. XPath 相关术语

    a. 节点(Node):在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

    b.基本值(或称原子值,Atomic value):基本值是无父或无子的节点。eg:game、商店游戏

    c.节点关系
    1.父【Parent】:每个元素以及属性都有一个父。
    2.子【Children】:元素节点可有零个、一个或多个子。
    3.同胞【Sibling】:拥有相同的父的节点。
    4.先辈(Ancestor):某节点的父、父的父,等等。
    5.后代(Descendant):某个节点的子,子的子,等等。

  5. XPath语法:【 测试节点[谓语] 】
    a.最常用的路径表达式

表达式描述
nodename选取此节点的所有子节点。
/从根节点选取。
//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
.选取当前节点。
…选取当前节点的父节点。
@选取属性。

b.示例

路径表达式结果/说明
/html选取根元素html;所有的绝对路径都是以[ / ] 开头
/html/body选取根元素html下面的子元素的body元素
//h2选取所有的h2子元素,不管它们是在文档的位置
./html//h2选取根元素html下面的后代元素的所有h2元素,不管它们位于html之后的位置
//@class选取名为class的所有属性
//div[1]/h2选取第一个h2元素
//div[last()]/h2选取最后一个h2元素
//div[last()-1]/h2选取倒数第二个h2元素
//div[position()<4]/h2选取前面3个的h2元素
//div[@category]选取所有拥有名为category的属性的div元素
//div[@category=‘RPG’]选取所有的div元素,并且这些元素拥有值为 RPG的category属性
//div[@class=‘game’][number(substring-after(last()/p/text(), ‘¥’)) > 60]选取所有的div元素,并且其中最后的p元素的值大于60
//div[@class=‘game’][number(substring-after(last()/p/text(), ‘¥’)) > 60]/h2选取所有的div元素下的h2元素,并且其中最后的p元素的值大于60
注意:可能xpath函数在某些浏览器上不支持,需要酌情使用!!!

c.通配符

通配符描述
*匹配任何元素节点
@*匹配任何属性节点
node()匹配任何类型节点

d.示例

路径表达式结果/说明
//div[@class=‘game’][1]/*匹配属性名为game的第一个div元素的所有子元素
//*匹配文档的所有元素
//div[@*]匹配所有带属性的div

e.选取多个类型元素【|】
f.示例

路径表达式结果/说明
//div/h2 |//div/p[1]选取div元素的所有h2和第一个p元素
//div/h2 | //div/p[last()]选取文档的所有h2元素和最后一个p元素
  1. XPath的轴运算【Axes】 语法【 轴名称::节点测试[谓语] 】
    a.轴名称与结果描述
轴名称结果
ancestor结果
ancestor-or-self选取当前节点的所有先辈(父、祖父等)以及当前节点本身
attribute选取当前节点的所有先辈(父、祖父等)以及当前节点本身
child选取当前节点的所有子元素
descendant选取当前节点的所有后代元素(子、孙等)
descendant-or-self选取当前节点的所有后代元素(子、孙等)以及当前节点本身
following选取文档中当前节点的结束标签之后的所有节点
following-sibling选取当前节点之后的所有同级节点
namespace选取当前节点的所有命名空间节点
parent选取当前节点的父节点
preceding选取文档中当前节点的开始标签之前的所有节点
preceding-sibling选取当前节点之前的所有同级节点
self选取当前节点

b.示例

表达式结果/描述
(//div[@class=‘game’])[1]/h2[1]/ancestor:: *获取第一个class='game’下的第一个h2元素的先辈元素
(//div[@class=‘game’])[1]/h2[1]/ancestor-or-self:: *获取第一个class='game’下的第一个h2元素的先辈以及当前节点
//div[@class=‘gamestore’]/div[1]/attribute:: *获取class='gamestore’的div下的第一个div节点的所有属性
//div[@class=‘gamestore’]/div[1]/child:: *获取class='gamestore’的div下的第一个div节点的所有子元素
//div[@class=‘gamestore’]/descendant:: *获取class='gamestore’的div元素的所有后代节点
//div[@class=‘gamestore’]/descendant-or-self:: *获取class='gamestore’的div元素的所有后代节点以及当前节点
//div[@class=‘game’][1]/p[2]/following:: *获取第一个class=‘game’ 的div元素第2个p标签之后的所有节点
//div[@class=‘game’][1]/p[2]/following-sibling:: *获取第一个class=‘game’ 的div元素第2个p标签之后的所有同级(兄弟)节点
//div[@class=‘game’][1]/parent:: *获取第一个class=‘game’ 的div元素的父级元素
//div[@class=‘game’][1]/p[2]/preceding:: *获取第一个class=‘game’ 的div元素第2个p标签之前的所有节点
//div[@class=‘game’][1]/p[2]/preceding-sibling:: *获取第一个class=‘game’ 的div元素第2个p标签之前的所有同级(兄弟)节点
//div[@class=‘game’][1]/p[2]/self:: *获取第一个class=‘game’ 的div元素第2个p标签

Ⅳ:总结

目前为止,就把XPath的大部分查找方式就分析完毕,当然其中还有很多没有说到位的方式方法,各位大佬也可以在评论区留下其他的方式,供大家一起学习探讨。还有其中的XPath函数就不讲了,在实际过程中暂时还用不到,需要使用的时候可以自行查询使用方法。喜欢的朋友可以关注微信公众号【逆向学习日记】阅读更多的文章。

JMeter XPath提取器实战:从XML/HTML精准提取数据的完整指南 在性能测试和接口测试中,处理结构化数据是核心挑战。XPath作为一种XML路径语言,其原理是通过路径表达式在DOM树中导航,精准定位节点。这项技术的价值在于能够高效、灵活地从复杂的XML或HTML响应中提取特定数据,解决了正则表达式在嵌套结构下的脆弱性问题。在应用场景上,它广泛用于提取SOAP接口返回值、抓取HTML中的动态令牌(如CSRF Token)、以及解析RESTful API的XML响应。本文聚焦于JMeter XPath提取器的实战应用,详细拆解了其配置界面、核心语法,并通过从HTML登录页提取 阅读详情

相关推荐

一个小时掌握 XPath 的详细使用方法(超级详细!)

XPath(XML Path Language):即为 XML 路径语言,它是一门在 XML 文档中查找信息的语言。XPath 的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。在做爬虫时可以使用 XPath 来做相应的信息抽取。另外,它还提供了超过 200 个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。几乎所有我们想要定位的节点,都可以用 XPath 来选择。

数据知道的博客 1万+

Python爬虫解析工具之xpath使用详解

文中详解介绍了Python爬虫开发中常见的数据解析方式重点是xpath解析工具,如xpath概念、xpath插件安装、lxml库安装、xpath路径表达式、xpath结合Python代码的使用

程序员小十一的博客 1万+

XPath 轴的使用

XPath 是一种强大的查询语言,用于在 XML 和 HTML 文档中导航和选择元素。 XPath 提供了一种直观且高度可定制的方式来定位和提取文档中的元素。其中, XPath 轴是一项关键特性,它允许我们定义元素之间的关系,从而更精确地导航和选择目标元素。本篇博客将深入探索 XPath 轴的使用,通过详细的解释和实例演示来展示它在文档导航和元素选择方面的优势和灵活性。

小蓝枣的博客 1334

xpath的使用

XPath(全称:XML Path Language)即 XML 路径语言,它是一门在 XML 文档中查找信息的语言,最初被用来搜寻 XML 文档,同时它也适用于搜索 HTML 文档。因此,在爬虫过程中可以使用 XPath 来提取相应的数据。 xpath在python中的使用 2.selenium动作链 用来实现网站中有些严重需要按住鼠标滑动的效果方式一:暴力的将图片移动到指定位置 方式二:图片一点一点的移动到指定位置 通过动作链自动登录12306网站 3.使用打码平台自动登录

weixin_52596593的博客 1236

手把手教你用XPath精准提取网页数据:从入门到精通,这一篇就够了

大家好,我是阿强,做了三年爬虫开发,踩过的坑比大多数人写的代码还多。今天想跟大家聊聊XPath——这个让我从“正则表达式地狱”里解救出来的神器。还记得刚入行那会儿,为了从淘宝商品页提取价格,我用正则表达式写了一堆乱七八糟的匹配规则。产品经理改个页面结构,我的代码就全崩了。后来改用BeautifulSoup,虽然好了一些,但面对复杂嵌套时,CSS选择器写起来依然让人头秃。直到我的mentor甩给我一句。这篇文章不会像教科书那样罗列概念,我会从一个真实爬虫案例出发,一步步带你搞懂XPath的核心用法。

2201_76125261的博客 214

万字硬核指南!Python爬虫XPath库从入门到精通:精准解析网页数据的终极技巧(附实战案例+避坑大全)

很多新手学XPath时,会陷入“死记语法”的误区,其实XPath的核心是**“精准定位节点”**,语法只是工具。先记基础语法,然后找一个网站实战,遇到问题再查语法,反复练习。比如你可以先爬取豆瓣Top250,再爬取知乎热榜,然后爬取电商网站的商品数据,在实战中你会发现,之前记不住的语法会慢慢变得熟练,遇到的坑也会成为你的经验。爬取数据时,要遵守网站的robots协议,不要过度爬取,避免给网站服务器造成压力。如果用于商业用途,最好联系网站管理员获得授权。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1320

Selenium 自动化 —— 一篇文章彻底搞懂XPath

如何定位一个XML(尤其是HTML)中的一个节点?前文我们学习了Selenium的常用的几种选择器,相比其它几种比较简单的比如id选择器、name选择器等外,最强大也是我们使用最频繁的是xpath选择器。本文,我们就对xpath进行全面的学习。

postnull的博客 3280

nRF52840开发环境搭建:从零开始配置Keil与SDK

本文详细介绍了nRF52840开发环境搭建的全过程,包括硬件准备、Keil MDK与nRF5 SDK的安装配置、常见问题解决方案及蓝牙功能开发进阶。特别强调了J-Link调试器的使用和SDK版本匹配的重要性,帮助开发者快速上手nRF52840开发。

weixin_29176179的博客 882

Xpath语法基础

XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。关于这些函数,可参考网站文章XPath、XQuery 以及 XSLT 函数 | 菜鸟教程 (runoob.com)

梅花香自苦寒来,宝剑锋从磨砺出。 3636

实现飞书机器人推送消息到指定群组或者用户

飞书是一个集成了聊天、协作和办公功能的企业级平台,广泛应用于企业内部沟通和协作。飞书机器人(Feishu Bot)是一种强大的工具,允许开发者通过编程接口与飞书进行互动,从而实现自动化消息推送和任务管理。本文将详细介绍如何通过飞书机器人推送消息给指定的人或者群组,帮助您快速上手。

qq_41898196的博客 5867

图解“交易·支付·清结算·账务”全局

这个过程大致是这样的,用户先到平台选择喜欢的“餐品”,然后“下单”,生成交易“账单”,用户选择支付方式进行“支付”,支付成功后平台要履行承诺把餐送到,“履约”完成以后平台就开始进行各方利益的“清分”,计算清楚应给谁多少钱,并“记账”,最后将款项“结算”给商家,这个过程如图7所示。交易系统请求订单系统创建订单,因为不清楚平台和商家之间的清结算协议,所以暂且认为所有优惠由平台提供给用户,后续平台再基于协议跟商家之间做优惠的分摊,将上述商品、优惠、计价等信息集成到一起,就得到了完成的订单信息了,如表4所示。

wjianwei666的专栏 1万+

五、XPath实战:快速定位网页元素

右击鼠标点击检查,我们就会看到具体的URL,为了测试Xpath语法,我们需要打开Xpath插件(本文结尾我会奉上下载链接)本节我们来爬取豆瓣电影,在实战开始前,我们需要搞懂爬取的流程,在清楚爬取的步骤后,我们方可事半功倍。这里会有人好奇为什么后面需要切一下,原因如下,前面有一些无用的数据,需要清除。不难分析此URL可以从,总的h2标签下的,a标签中的,href属性下手。接下来需要获取前5页的URL,下面我们可以一起来看看它们之间的规律。做完先前的工作,这里可以说是核心的步骤了,获取真正有用的数据。

null18的博客 1557

告别虚拟机!用ZYNQ7000和PYNQ 2.6.0打造一个能实时识别人脸的“智能摄像头”

本文详细介绍了如何利用Xilinx ZYNQ7000开发板和PYNQ 2.6.0框架构建实时人脸识别系统。通过硬件加速和嵌入式开发技术,该系统实现了低延迟、低功耗的独立运行能力,适用于边缘计算和物联网应用。文章包含从环境搭建到核心功能实现的完整指南,并提供了性能优化和问题排查的实用技巧。

weixin_42543046的博客 391

知识点拾遗 一(xpath)

一个错误解决xpath用法问题的实例 在我记忆更新之前我的做法是这样的 import requests from lxml import etree url = "https://editor.youkuaiyun.com/md/?not_checkout=1" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.

qq_51598376的博客 264

UG NX二次开发(C#)-建模-获取圆柱面信息(轴向、半径、深度)

获取圆柱面的信息前言一、在UG NX中面的类型有哪些?二、获取圆柱面信息的函数1.获取半径和轴向2、计算圆柱面的深度值3、测试用例总结 文章目录前言一、在UG NX中面的类型有哪些?二、获取圆柱面信息的函数1.获取半径和轴向2、计算圆柱面的深度值3、测试用例总结 前言 在一个项目中,需要遍历曲面,获得所有的圆柱面和圆柱面的信息,包括轴向、半径和圆柱面的深度。经过研究,采用uFModl.AskFaceData(face.Tag, out faceTypeInt, point, dir, box, out

GimiGimmy 4145

开源推荐:5个最实用的AIGC风格迁移项目

随着人工智能技术的飞速发展,AIGC(人工智能生成内容)领域取得了显著的成果。风格迁移作为AIGC中的一个重要分支,旨在将一种图像的风格应用到另一种图像上,创造出具有独特艺术效果的新图像。本文的目的是为读者推荐5个最实用的AIGC风格迁移开源项目,详细介绍这些项目的技术原理、使用方法和应用场景,帮助读者在实际项目中选择合适的工具进行风格迁移。文章的范围涵盖了这些项目的核心概念、算法原理、数学模型、项目实战以及相关的学习资源和未来发展趋势等方面。

AI 原生应用开发的博客 1704

Selenium自动化测试:XPath定位策略与实战技巧详解

在Web自动化测试领域,元素定位是核心基础。XPath作为一种强大的XML路径语言,能够精准定位HTML DOM树中的节点,其原理是通过轴、节点测试和谓词组合,实现对复杂页面结构的灵活导航与筛选。掌握XPath不仅能解决ID、Class等属性动态变化或缺失的难题,更能提升自动化脚本的健壮性和可维护性,尤其适用于处理动态加载内容、iframe嵌套及复杂表格数据提取等场景。本文聚焦Selenium自动化测试中的XPath实战应用,深入解析如何编写抗变化的定位表达式,并分享处理动态属性与iframe嵌套等高频问题

weixin_33957648的博客 461

基于AC算法的图像显著性检测及Matlab代码实现

以上是基于AC算法的图像显著性检测的Matlab代码实现。图像显著性检测是计算机视觉领域的一个重要任务,其目标是确定图像中最具有显著性的区域,即吸引人眼注意力的区域。图像显著性检测是计算机视觉领域的一个重要任务,其目标是确定图像中最具有显著性的区域,即吸引人眼注意力的区域。AC算法的原理基于人眼视觉系统的特性,人眼在观察图像时通常会先关注图像中的显著性区域,然后才会注意到其他细节。AC算法的原理基于人眼视觉系统的特性,人眼在观察图像时通常会先关注图像中的显著性区域,然后才会注意到其他细节。

TechPulseZ的博客 438

xpath定位

1 text 百度搜索 //a[text()=‘百度搜索’] 或 //a[contains(text(),“搜索”)] --文本模糊定位 把百度设为主页 //a[text()=‘把百度设为主页’] 一、通过id定位 (1)#kw 定位id=kw的元素 (2)input#kw 定位id=kw的input标签元素 python:driver.find_element_by_css_...

vivian_python的博客 256

文献综述三大痛点用AI轻松解决!借助Gemini 3 Pro搞定检索难、阅读慢、框架乱问题(附 AI 提示词)

4)“漏斗式”结构:先介绍宏观领域的研究现状,再缩小范围,聚焦于与你课题直接先关的子领域,深入探讨与你研究变量直接相关的文献, 指出前人没做过、没做全或结论有矛盾的地方,再顺势提出你的研究课题,这种结构逻辑最清晰,能直接引导读者发现你研究的必要性。想要有针对性的搜到相关文献,必须先把模糊的研究题目拆解成精准的检索语言,这个时候就需要建立一个关键词矩阵,如核心词、同义词、学术术语、上下位词,以及对应的英文表达。请围绕【我的研究主题/关键词】,检索近5年发表的高被引的中英文文献,优先选择顶刊综述/论文。

智能AI让学术科研更容易 277

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Appium元素定位实战:UIAutomatorViewer与XPath高效应用指南

在移动应用自动化测试领域,元素定位是构建稳定测试脚本的核心基础。其原理在于通过识别和操作应用界面中的UI控件,模拟用户交互行为。这项技术的价值在于能够实现测试流程的自动化执行,显著提升测试覆盖率和效率。在实际应用场景中,无论是电商应用的搜索功能验证,还是社交应用的交互流程测试,精准的元素定位都是确保自动化脚本可靠运行的前提。本文聚焦于Appium框架下的元素定位实战,深入解析UIAutomatorViewer与Appium Inspector这两大探查工具的使用技巧,并详细阐述XPath定位策略的高级应用。

weixin_26804345的博客 287

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

曲鸟全栈UI自动化教学(三):Selenium页面操作原理及如何高效的进行元素定位

一、前言 本专栏将结合元素定位(selenium/appium)和前沿的图像识别定位(airtest)两种方式来从0到1的构建一个企业级自动化解决方案。 通过该项目实战让你学会包括:python、selenium/appium的运用、测试报告、监听、基于元素步骤的断点调试、优于内置方法的元素等待方案、特殊元素的定位方式的处理以及完备的企业级自动化框架的搭建。

曲鸟 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

爬虫笔记3:1bs4爬取小说章节标题和章节内容2xpath爬取58同城二手房源信息

1.获取网站页面2.把页面源代码加载到实例化的bs对象或者etree对象中3.对想要获取的资源进行标签定位(找到所在的位置,用文件夹来比喻就是找到路径)4.获取标签或者属性中存储的值(以三国演义来说先获取章节标题(文本),章节内容需要获取属性中的存放章节内容的地址,再通过获取到的地址,获取内容所在页面的位置)

weixin_74802803的博客 575

影刀RPA新手教程:选择器工具完全指南——元素捕获录制模式与手工编写XPath的区别

影刀RPA元素定位完全指南:从新手到精通的路径 本文系统性地讲解了影刀RPA中元素定位的两种核心方法:自动捕获录制模式与手工编写XPath/CSS选择器。通过对比分析两种方式的优缺点,帮助用户根据实际场景选择最佳定位策略。 核心要点: 录制模式适合简单场景,操作直观但稳定性差 手工XPath灵活精准,学习成本高但回报显著 变量与元素定位结合可实现动态定位 流程控制(等待/循环)是定位成功的关键 复杂场景推荐XPath+正则表达式组合方案 技术亮点: 动态元素处理方案 元素等待最佳实践 DOM结构与XPath

聪明的你,肯定能在地球上另一个位置找到我!RPA自动化流程机器人定制,代做,问题咨询! 382

爬虫数据解析进阶:用 XPath 与 Parsel 告别正则地狱

HTML 页面本质上是一棵由标签嵌套构成的文档树。爬虫拿到请求响应后,真正的难点往往不在网络传输,而在如何从复杂的树状结构中稳定抽取出目标字段。正则表达式虽然在处理字符串时足够灵活,但在面对动态属性、深层嵌套和大量转义字符时维护成本极高。作为 W3C 标准路径语言,XPath 通过路径表达式按节点定位数据,配合基于 lxml 的 C 语言解析内核,能够兼顾性能与可读性。Parsel 则是 Scrapy 官方拆出的解析封装,在 XPath 基础上补充了 css、re 及文本清洗能力,让列表抓取、字段去重、实体

weixin_32830601的博客 275

Moodle 插件选型快速指南:按场景挑对功能,少走弯路

Moodle 是开源的在线学习平台,课程里要挂视频、收作业、开讨论区、做测验,靠的全是插件系统把功能拼起来。这篇指南按教学场景帮你挑出真正常用的 Moodle 插件,读完就能按清单配置自己的站点。 ## 开学第一周,课程功能怎么配齐 想象一下:新学期课程上线,你需要一天内完成四件事——嵌入教学视频、布置一次带批注的作业、开一个讨论区、最后来一份自动评分的小测验。如果这些都要从核心代码里找,基本

gitblog_00965的博客 358
上一篇: js逆向--某会展中心--请求参数data加密以及响应体解密逆向分析(脱敏版)
下一篇: js逆向--某瓜数据专家商品信息解密(脱敏版)
一枚回归少年
博客等级 码龄6年 120粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值