当前位置: 首页 > news >正文

【动态网站资源保存下载】

文章目录

    • 概要
    • 解决思路
    • 技术细节
    • 小结

概要

我们在网上浏览网站时,经常有这样的需求:将浏览的网页保存下来,即使无网的情况下也可以继续浏览。比如一些教育类网站的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都离线下载下来了,再也不用担心网络不好或者无网了。

http://www.lryc.cn/news/456989.html

相关文章:

  • Selenium自动化测试中如何处理数据驱动?
  • 淘宝API接口系列有哪些内容?
  • 华为OD机试 - 冠亚军排名(Java 2024 E卷 100分)
  • VmWare中安装CenterOs(内网服务器)
  • JS 数组去重 — 各类场景适合方法大全
  • 【Java 问题】集合——List
  • xss 跨站脚本攻击
  • 5.toString()、构造方法、垃圾回收、静态变量与静态方法、单例设计模式、内部类
  • Fiddler配合wireshark解密ssl
  • 【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法
  • IC卡批量加密快速写入
  • 软件测试学习笔记丨tcpdump 与 wireshark
  • Redis:分布式 - 哨兵
  • 开源城市运动预约的工具类小程序源码
  • SldWorks问题 2. 矩阵相关接口使用上的失误
  • 2024十月超全大模型常见面试题(附答案)
  • Java 的数据结构整理(整合版)
  • 如何让信息学奥赛学习“边玩边学”?——趣味编程让枯燥学习变得有趣
  • 【艾思科蓝】C++游戏开发探秘:打造高性能游戏世界的钥匙
  • 企业如何做好数据安全防泄密?10个你不知道的防泄密措施
  • MySQL基本操作(1)
  • Python 如何使用 Redis 作为缓存
  • Python知识点:基于Python工具,如何使用Mediapipe进行人体姿态估计
  • 数据结构进阶:二叉搜索树_C++
  • uni-app之旅-day04-商品列表
  • 单元测试的定义
  • C语言从头学66—学习头文件 <stdio.h>(二)
  • python静默活体检测接口集成-人脸识别API-人脸认证
  • Ubuntu安装nvidia显卡驱动
  • vulnhub-Web Developer 1靶机