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

Python实现网站资源批量下载【可转成exe程序运行】

Python实现网站资源批量下载【可转成exe程序运行】

  • 背景介绍
  • 解决方案
  • 转为exe可执行程序
    • 简单点说
    • 详细了解下
  • 声明

背景介绍

发现 宣讲家网 的PPT很好,作为学习资料使用很有价值,所以想下载网站的PPT课件到本地,但是由于网站限制,一次只能下载一页PPT,对于PPT课件较多的情况就比较繁琐,所以写个程序能批量下载PPT课件。
在这里插入图片描述

对于上面的课件,有一百多页,逐页下载属实费劲

解决方案

当然是写个Python了,简单方便,计算机程序就是可以很简单的帮我们干这些重复性的劳动,并且不觉得累。

代码:

import os
import requestsif __name__ == '__main__':# 定义下载链接的基础部分base_url = input("请输入下载链接的基础部分:")# 定义要下载的文件范围start_number = int(input("请输入起始编号:"))end_number = int(input("请输入结束编号:"))def download_files(base_url, start, end, save_directory):if not os.path.exists(save_directory):os.makedirs(save_directory)for i in range(start, end + 1):file_url = f"{base_url}_{i}.pptx"file_name = os.path.join(save_directory, f"{i}.pptx")response = requests.get(file_url)if response.status_code == 200:with open(file_name, 'wb') as file:file.write(response.content)print(f"Downloaded: {file_name}")else:print(f"Failed to download: {file_url}")# 定义保存文件的目录(例如桌面)save_directory = os.path.join(os.path.expanduser("~"), "Desktop", "Downloaded_PPTs")# 开始下载download_files(base_url, start_number, end_number, save_directory)

没错,就这几行而已

实际操作:
在这里插入图片描述

找到想要下载的PPT,点击下载本页PPT文件,获取下载链接

在这里插入图片描述

只要 _1 前面的部分,后面就是页号,后面自动拼。

在这里插入图片描述

把链接和页号输入下面就行了。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

转为exe可执行程序

简单点说

第一步:安装PyInstaller ,执行 pip install pyinstaller
第二步:打包程序,pyinstaller --onefile yourFile.py

就会在dist目录下生成exe程序了。
在这里插入图片描述

双击使用即可
在这里插入图片描述

详细了解下

见文章 Python 代码转 EXE:原理、方法与实践全解析

声明

该案例仅供技术学习使用,任何非法行为的使用,后果个人承担!

版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://keafmd.top/

看完如果对你有帮助,感谢点击下面的点赞支持!
[哈哈][抱拳]

在这里插入图片描述
加油!

共同努力!

Keafmd

感谢支持牛哄哄的柯南,期待你的三连+关注~~

keep accumulate for my dream【共勉】

                                                       ↓   ↓   ↓   合作 交流  ↓   ↓   ↓  

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

相关文章:

  • 《JavaScript高级程序设计》读书笔记 20
  • ASP.NET Core项目中使用SqlSugar连接多个数据库的方式
  • Java面试八股文(精选、纯手打)
  • 工程设计行业内外网文件交换解决方案:FileLink助力高效、安全的跨网协作
  • Qt 2D绘图之三:绘制文字、路径、图像、复合模式
  • 配置宝塔php curl 支持http/2 发送苹果apns消息推送
  • Redis服务配置文件 redis.conf 更新修改配置参数说明
  • Android 俩个主题的不同之处 “Theme.AppCompat vs android:Theme.Material.Light.NoActionBar”
  • Redis+Caffeine 多级缓存数据一致性解决方案
  • vscode ctrl+/注释不了css
  • 《山海经》:北山
  • oracle中删除指定前缀的表
  • 解决 Flutter Dio合并请求多个接口,如果一个接口500,那么导致其他请求不在执行
  • The selected directory is not a valid home for Go SDK
  • 基于云模型的车辆行驶速度估计算法matlab仿真
  • MySQL有哪些日志?
  • Axios:现代JavaScript HTTP客户端
  • python学opencv|读取视频(一)灰度视频制作和保存
  • 【Rust WebAssembly 入门实操遇到的问题】
  • 掌握CMake中的变量:设置、使用及实际应用示例详解
  • React基础知识三 router路由全指南
  • [VUE]框架网页开发02-如何打包Vue.js框架网页并在服务器中通过Tomcat启动
  • k8s Quality of Service
  • 顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab)
  • 什么语言适合做 Serverless 开发?
  • 使用OpenCV和卡尔曼滤波器进行实时活体检测
  • 【25春招前端八股文】——JS数据类型检测方式
  • Kafka的学习路径规划
  • linux模拟试题
  • Qt-界面优化QSS