【动态网站资源保存下载】
文章目录
- 概要
- 解决思路
- 技术细节
- 小结
概要
我们在网上浏览网站时,经常有这样的需求:将浏览的网页保存下来,即使无网的情况下也可以继续浏览。比如一些教育类网站的PPT,内容为HTML格式的,无法作为PPT格式下载下来,就需要将网页内的资源(包括html,css,js,png等)全部下载下来。这类PPT内容是需要不断点击下一页才能动态的展示后面的内容的,这就需要我们点击到最后一页才能把全部资源都展示出来。
解决思路
如何将网页上的动态资源下载下来呢?
通过查找资料,大部分网友推荐了这两个chrome浏览器插件:Save All Resources 和 猫抓。但通过测试并不能完全满足需求。Save All Resources 插件不太稳定,有些小BUG,偶尔下载不了文件和漏掉资源文件,优点是下载下来的资源保持原资源的文件夹结构,直接打开离线HTML和在线功能一致。猫抓能够嗅探到资源并能较快的下载,但是没有保留原资源的文件夹结构。
基于上面插件的缺点,最终决定使用RPA软件影刀加脚本来实现动态资源下载。一是影刀RPA可以完成PPT网页内的下一页按钮自动点击。二是影刀RPA可以通过脚本代码下载所有资源文件,灵活性更高。
技术细节
- 实现PPT的下一页按钮的自动点击
这个对于影刀来说,so easy。可以参考影刀官网上的网页自动化中的教学课程学习,主要是使用点击元素,捕捉元素功能,判断元素是否可见(用在最后一页时的判定,捕捉按钮灰化)

- 实现下载动态资源
通过F12打开开发者工具,选择上方的“网络”选项卡,当点击PPT中的下一页按钮时,会刷新显示所有要下载的资源,通过影刀捕捉元素然后获取到下载链接,逐一下载资源。
目前这个方案下载速度较慢,因为使用的影刀提供的HTTP下载,一个个下载有点慢,没有找到多线程方案,可以选择晚上不用电脑时自动完成。


“网络”选项卡中的资源列表本身是动态加载的,使用影刀捕捉元素时显示的并不是全部资源,所以需要借助键盘按键“上箭头”,切换元素。
小结
通过借助影刀RPA可以实现很多手动操作由脚本驱动自动完成,节省了时间与精力,目前方案不足之处就是不是多线程下载,速度慢。有个小Bug就是偶尔会按F12时打不开开发者工具导致的脚本无法顺利完成。从整体上看,还是不错的办法,用了4个小时将站点PPT都离线下载下来了,再也不用担心网络不好或者无网了。
相关文章:
【动态网站资源保存下载】
文章目录 概要解决思路技术细节小结 概要 我们在网上浏览网站时,经常有这样的需求:将浏览的网页保存下来,即使无网的情况下也可以继续浏览。比如一些教育类网站的PPT,内容为HTML格式的,无法作为PPT格式下载下来&#…...
Selenium自动化测试中如何处理数据驱动?
在自动化测试中,数据驱动(Data-Driven Testing)是指通过外部数据源(如Excel、CSV、数据库等)来控制测试用例的执行,而不是直接在代码中硬编码数据。这种方式可以提高测试的灵活性和可维护性,使得…...
淘宝API接口系列有哪些内容?
淘宝API(Application Programming Interface)接口系列是一套允许开发者与淘宝平台进行数据交互的接口集合,涵盖了商品信息、订单信息、物流信息、用户信息以及营销等多个方面的数据接口。以下是对淘宝API接口系列内容的详细归纳: …...
华为OD机试 - 冠亚军排名(Java 2024 E卷 100分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…...
VmWare中安装CenterOs(内网服务器)
VmWare中安装CenterOs(内网服务器) 文章目录 VmWare中安装CenterOs(内网服务器)[toc] 一 、CentOS 7的下载与安装1、下载2、安装(1)前期准备(2)正式安装 开始等待!!! 二、软件仓库更换1、root用…...
JS 数组去重 — 各类场景适合方法大全
JS 数组去重 — 各类场景适合方法大全 本文介绍各种场景 JS 去重 方法使用 性能最好、用的最多、场景大全 文章目录 JS 数组去重 — 各类场景适合方法大全 一、基础篇:简单直观的去重方法1. 使用Set数据结构2. 利用filter和indexOf方法3. reduce方法的应用 二、进阶…...
【Java 问题】集合——List
List 1.说说有哪些常见集合?2.ArrayList和LinkedList有什么区别?3.ArrayList的扩容机制了解吗?4.ArrayList怎么序列化的知道吗? 为什么用transient修饰数组?5.快速失败(fail-fast)和安全失败(fail-safe)了解吗…...
xss 跨站脚本攻击
XSS 的全称是 Cross-Site Scripting(跨站脚本攻击)。是一种常见的web安全漏洞。 1. XSS 的定义 XSS 是一种注入类型的攻击,攻击者将恶意脚本注入到受信任的网站中。当其他用户访问该网站时,这些脚本会在用户的浏览器中执行。 2…...
5.toString()、构造方法、垃圾回收、静态变量与静态方法、单例设计模式、内部类
文章目录 一、toString()1. 优缺点2. 使用方法举例① Dos类里更省事的方法 ② Application里 二、构造方法1. 导入2. 什么是构造方法3. 怎么写构造方法① 无参的构造方法(无参构造器)② 有参的构造方法(有参构造器)③ 注意 4. 构造方法的重载 三、再探this1. 给成员变量用2. 给…...
Fiddler配合wireshark解密ssl
环境: win11(wireshark)--虚拟机win7(Fiddler)---虚拟机win7(HTTPS站点) 软件安装问题: 需要.net环境,NDP461-KB3102436-x86-x64-AllOS-ENU.exe。 安装fiddler后安装下…...
【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法
文章目录 前言在setup外进行使用直接包裹使用vue 单文件中使用 参考文章: 关于naiveui的message相关的用法 前言 最近新建了一个vite vu3 的项目,完全是从0 到1 ,封装到request 的时候 想对axios 请求做一个全局的处理,但发现…...
IC卡批量加密快速写入
我们常用的非接触式IC卡,简称M1卡,他有16个扇区,每个扇区有A密码和B密码 对数据的读写是要验证密码的,因此卡片正式使用前,需要把卡片密码改成需要的密码,系统才可以识别 由于一次加密卡片数量比较大&#…...
软件测试学习笔记丨tcpdump 与 wireshark
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32333 一、抓包分析TCP协议 1.1 简介 TCP协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 1.2 环境准备 对接口测试工具进行分类: 网络嗅…...
Redis:分布式 - 哨兵
Redis:分布式 - 哨兵 概念哨兵 Docker 搭建哨兵分布式选举流程 概念 Redis 的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工进行主从切换,同时大量的客户端需要被通知切换到新的主节点上,对于上了一定规模…...
开源城市运动预约的工具类小程序源码
运动场馆预约小程序是一款主要针对城市运动预约的工具类程序, 产品主要服务人群为20-45岁运动爱好者, 程序前后端完整代码,包括场馆动态,运动常识,羽毛球场地预约,足球场地预约,篮球场地预约&a…...
SldWorks问题 2. 矩阵相关接口使用上的失误
问题 在计算三维点在图纸(DrawingDoc)中的位置时,就是算不对,明明就4、5行代码,怎么看都是很“哇塞”的,毫无问题的。 但结果就是不对。 那就调试一下吧,调试后发现生成的矩阵很不对劲&#…...
2024十月超全大模型常见面试题(附答案)
大模型相关的面试问题通常涉及模型的原理、应用、优化以及面试者对于该领域的理解和经验。以下是一些常见的大模型面试问题以及建议的回答方式: 请简述什么是大模型,以及它与传统模型的主要区别是什么? 回答:大模型通常指的是参…...
Java 的数据结构整理(整合版)
Java 的数据结构整理(整合版) 一、数据输入输出 https://www.runoob.com/java/java-scanner-class.html 这部分是为了预防 leetcode 刷习惯了,忘记怎么处理输入输出的问题 数据输入 Java的数据输入和 C 相比非常繁琐,因此大多…...
如何让信息学奥赛学习“边玩边学”?——趣味编程让枯燥学习变得有趣
信息学奥赛(NOI)作为一项高水平的编程竞赛,内容涉及到大量的算法、数据结构和复杂的逻辑思维,对学生的要求非常高。然而,面对枯燥的知识点和高难度的题目,很多学生在备赛过程中容易感到乏味甚至放弃。那么&…...
【艾思科蓝】C++游戏开发探秘:打造高性能游戏世界的钥匙
【IEEE出版 | 院士、Fellow报告】第八届电气、机械与计算机工程国际学术会议(ICEMCE 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看:学术会议-学术交流征稿-学术会议在线-艾思科蓝 引言 在当今的游戏开发领域,C以其高效、…...
STC8H8K64U USB下载避坑指南:实测与手册不一样的P3.2引脚操作细节
STC8H8K64U USB下载实战:破解P3.2引脚的操作玄机 第一次接触STC8H8K64U的USB下载功能时,本以为按照官方手册按部就班就能轻松搞定,没想到实际操作中P3.2引脚的行为完全出乎意料。这个看似简单的接地操作背后,隐藏着芯片内部状态机…...
Spring AI 技术架构深度解析:聊天模型、工具调用与 MCP 协议
摘要:本文从分层架构切入,精简拆解 SpringAI 核心设计思想,详解聊天模型统一抽象、注解式工具调用实战逻辑,同时解析主流模型上下文协议 MCP 在 SpringAI 中的落地价值,助力 Java 开发者快速搭建企业级生成式 AI 应用。…...
2026山东大学软件学院项目实训(六)
一、基本信息组号:69组员:李重昊负责模块:AI 工作流 —— 图片收集节点二、任务概述在 LangGraph4j 工作流中完成图片收集节点开发,根据用户自然语言需求自动规划并收集网站所需图片,为后续提示词增强与代码生成提供素…...
IDE扩展管理套件:实现配置即代码与团队环境同步
1. 项目概述:一个为开发者定制的IDE扩展管理套件如果你和我一样,每天的工作都离不开各种集成开发环境(IDE),比如 Visual Studio Code、IntelliJ IDEA 或者 PyCharm,那你一定对“扩展”或“插件”又爱又恨。…...
别再死磕PSO了!用Python手把手教你实现GWO灰狼优化算法(附完整代码)
用Python实战GWO灰狼优化算法:告别传统优化方法的局限 在工程优化和机器学习领域,算法选择往往决定了问题求解的效率和质量。传统粒子群优化(PSO)算法虽然广为人知,但其参数调节复杂、易陷入局部最优的缺点也日益明显。灰狼优化算法(Grey Wol…...
废品买卖回收管理系统(10053)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
数据表结构管理:RPFM的Schema更新架构设计与安全实践
数据表结构管理:RPFM的Schema更新架构设计与安全实践 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://gitc…...
NUS 提出 SkillGraph:让多模态多智能体边协作边进化
📌 一句话总结: 本文提出 SkillGraph,将动态通信拓扑与自进化 Skill Bank 闭环耦合,让 VMAS 根据图像、问题和当前技能自动组织协作。在四个多模态基准、五种 MAS 结构和四类 VLM 上均稳定提升,最高平均提升约 3.0%。…...
浏览器串口调试革命:无需安装驱动,3分钟上手专业级串口助手
浏览器串口调试革命:无需安装驱动,3分钟上手专业级串口助手 【免费下载链接】SerialAssistant A serial port assistant that can be used directly in the browser. 项目地址: https://gitcode.com/gh_mirrors/se/SerialAssistant 还在为串口调试…...
终极思维导图互操作指南:让markmap在不同工具间自由流转
终极思维导图互操作指南:让markmap在不同工具间自由流转 【免费下载链接】markmap Build mindmaps with plain text 项目地址: https://gitcode.com/gh_mirrors/ma/markmap 你是否曾因思维导图格式不兼容而抓狂?😫 辛辛苦苦在某个工具…...
