获取网络ppt资源
背景:
某度上有很多优质的PPT资源和文档资源,但是大多数需要付费才能获取。对于一些经济有限的用户来说,这无疑是个遗憾,因为我们更倾向于以免费的方式获取所需资源。
解决方案:
然而,幸运的是,我们可以通过一些技巧和工具来实现免费获取PPT的目标。使用一些爬虫技术和数据抓取工具,我们可以自动化地获取这些收费PPT,无需付费就能获得所需资源。一句话,我要白嫖白嫖!!!
实现:
步骤1:
爬取pptx中的所有图片:

比如这个网页的ppt。
import requests
import os
from lxml import etree
from pptx import Presentation
from pptx.util import Inches
# 创建目录方法
def create_file(file_path):if not os.path.exists(file_path):os.makedirs(file_path)# PPT的网页链接 替换成你需要的资源网站
url = 'https://wenku.baidu.com/view/b0e444c82079168884868762caaedd3382c4b55e?aggId=b4ee6f9724c52cc58bd63186bceb19e8b9f6ecc3&fr=catalogMain_graph_v10_recall%3Awk_recommend_main3&_wkts_=1701780975704&bdQuery=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%AD%94%E8%BE%A9ppt'
resp = requests.get(url)text = resp.texthtml = etree.HTML(text)img_list = html.xpath('//div[@class="mod flow-ppt-mod"]/div/div/img')
# 计数
cnt = 1
# 爬取的ppt图片保存的文件夹
file_path = './ppt/'
create_file(file_path)new_list = []
# 获取图片
for i in img_list:try:img_url = i.xpath('./@src')[0]except:img_url = i.xpath('./@data-src')[0]# 文件名称file_name = f'{file_path}page_{cnt}.jpg'new_list.append(file_name)print(file_name, img_url)# 下载保存图片resp = requests.get(img_url)with open(file_name, 'wb') as f:f.write(resp.content)cnt += 1
我们接下来看看结果:

步骤2:
但是这还没完,如何将ppt连接起来呢?
再执行一下如下代码:
# 将图片合成到PPT中prs = Presentation()
left = top = 10
height = 10
blank_layout = prs.slide_layouts[6]
for i in range(len(new_list)):slide = prs.slides.add_slide(blank_layout)slide.shapes.add_picture(new_list[i],left,top)
prs.save('./demo.pptx')
好叻,我们看看结果:

完整代码:
import requests
import os
from lxml import etree
from pptx import Presentation
from pptx.util import Inches
# 创建目录方法
def create_file(file_path):if not os.path.exists(file_path):os.makedirs(file_path)# PPT的网页链接
url = 'https://wenku.baidu.com/view/b0e444c82079168884868762caaedd3382c4b55e?aggId=b4ee6f9724c52cc58bd63186bceb19e8b9f6ecc3&fr=catalogMain_graph_v10_recall%3Awk_recommend_main3&_wkts_=1701780975704&bdQuery=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%AD%94%E8%BE%A9ppt'
resp = requests.get(url)text = resp.texthtml = etree.HTML(text)img_list = html.xpath('//div[@class="mod flow-ppt-mod"]/div/div/img')# 计数
cnt = 1# 文件保存路径
file_path = './ppt/'
create_file(file_path)new_list = []
# 获取图片
for i in img_list:try:img_url = i.xpath('./@src')[0]except:img_url = i.xpath('./@data-src')[0]# 文件名称file_name = f'{file_path}page_{cnt}.jpg'new_list.append(file_name)print(file_name, img_url)# 下载保存图片resp = requests.get(img_url)with open(file_name, 'wb') as f:f.write(resp.content)cnt += 1# 将图片合成到PPT中prs = Presentation()
left = top = 10
height = 10
blank_layout = prs.slide_layouts[6]
for i in range(len(new_list)):slide = prs.slides.add_slide(blank_layout)slide.shapes.add_picture(new_list[i],left,top)
prs.save('./demo.pptx')
温馨提示:
本文旨在分享数据获取技术的应用和原理,以促进技术交流和知识共享,切勿用于非法和破坏性行为!
谢谢您的理解和合作!
相关文章:
获取网络ppt资源
背景: 某度上有很多优质的PPT资源和文档资源,但是大多数需要付费才能获取。对于一些经济有限的用户来说,这无疑是个遗憾,因为我们更倾向于以免费的方式获取所需资源。 解决方案: 然而,幸运的是&am…...
从0到1构建智能分布式大数据爬虫系统
文章目录 1. 写在前面2. 数据获取挑战3. 基础架构4. 爬取管理5. 数据采集6. 增量与去重设计 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐…...
C语言速通笔记(41-62)
40.十六进制转义字符:\x6d才是合法的,前面的0不能写,而且 x 是小写 41.字符型和整型是近亲:两个具有很大的相似之处,所有的字符都有一个它对应的整形数 据的 ASCLL 的数值。如 char a 65 % …...
Python 调用企业微信群机器人发送消息及文件
Python 操作企业微信群机器人。 企业微信群创建机器人 : 安装 requests json : pip install requests pip install json发送消息(markdown) import requests import json# 企业微信机器人发送文字 def send_markdown (message, …...
数据结构:链表应用:第6关:链表的分解
任务描述 本关任务:利用单链表A表示一个非零整数序列,把A分解为两个具有相同结构的链表B和C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点。要求空间复杂度为O(1),链表B和C均利用链表A的结点…...
10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)
概念: 交叉验证法,就是把一个大的数据集分为 k个小数据集,其中 k − 1 个作为训练集,剩下的 1 个作为测试集,在训练和测试的时候依次选择训练集和它对应的测试集。这种方法也被叫做 k 折交叉验证法(k-fold…...
中小企业:理解CRM与ERP系统的区别与联系,提升业务效能
许多中小型企业正面临着客户递增,市场营销,货存流通等递增数据整合的困扰。这个时候需要根据自身企业的实际情况去选择适合自己的系统。那么,中小企业使用CRM系统和erp系统的区别是什么? 一、含义和目标区别 CRM系统旨在帮助企业…...
01数仓平台 Hadoop介绍与安装
Hadoop概述 Hadoop 是数仓平台的核心组件。 在 Hadoop1.x 时代,Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源调度,耦合性较大。在 Hadoop2.x 时代,增加了 Yarn。Yarn 只负责资源的调度,MapReduce 只负责运算。Hadoop3.x 在…...
网络编程HTTP协议进化史
一、Http报文格式 具有约定格式的数据块 请求报文 request 状态行:本次请求的请求方式(post get)资源路径url http 协议的版本号,中间用空格划分 本次请求的请求方式(post get)资源路径url http 协议…...
第17章 匿名函数
第17.1节 匿名函数的基本语法 [捕获列表](参数列表) mutable(可选) 异常属性 -> 返回类型 { // 函数体 }语法规则:lambda表达式可以看成是一般函数的函数名被略去,返回值使用了一个 -> 的形式表示。唯一与普通函数不同的是增加了“捕获列表”。 …...
JVM虚拟机:JVM参数之标配参数
本文重点 本文我们将学习JVM中的标配参数 标配参数 从jdk刚开始就有的参数,比如: -version -help -showversion...
UEC++ 探索虚幻5笔记(捡金币案例) day12
吃金币案例 创建金币逻辑 之前的MyActor_One.cpp,直接添加几个资源拿着就用 //静态网格UPROPERTY(VisibleAnywhere, BlueprintReadOnly)class UStaticMeshComponent* StaticMesh;//球形碰撞体UPROPERTY(VisibleAnywhere, BlueprintReadWrite)class USphereCompone…...
Docker 安装 Redis 挂载配置
1. 创建挂载文件目录 mkdir -p /home/redis/config mkdir -p /home/redis/data # 创建配置文件:docker容器中默认不包含配置文件 touch /home/redis/config/redis.conf2. 书写配置文件 # Redis 服务器配置# 绑定的 IP 地址,默认为本地回环地址 127.0.0…...
Java操作Excel之 POI介绍和入门
POI是Apache 提供的一个开源的Java API,用于操作Microsoft文档格式,如Excel、Word和PowerPoint等。POI是Java中处理Microsoft文档最受欢迎的库。 截至2023/12, 最新版本时 POI 5.2.5。 JDK版本兼容 POI版本JDK版本4.0及之上版本> 1.83.…...
麒麟v10 数据盘初始化 gpt分区
麒麟v10 数据盘初始化 gpt分区 1、查看磁盘 lsblk2 、分区 parted2.1、 设置磁盘分区形式2.2、 设置磁盘的计量单位为磁柱2.3、 分区2.4、 查看分区 3、分区格式化4、 挂载磁盘4.1、新建挂载目录4.2、挂载磁盘4.3、查看挂载结果 5、设置开机自动挂载磁盘分区5.1、 查询磁盘分区…...
php时间和centos时间不一致
PHP 时间和 CentOS 操作系统时间不一致的问题通常是由于时区设置不同造成的。解决这个问题可以通过以下几个步骤: 检查 CentOS 系统时间: 你可以通过在终端运行命令 date 来查看当前的系统时间和时区。 配置 CentOS 的时区: 如果系统时间不正…...
软件工程 复习笔记
目录 概述 软件的定义,特点和分类 软件的定义 软件的特点 软件的分类 软件危机的定义和表现形式 软件危机 表现形式 软件危机的产生原因及解决途径 产生软件危机的原因 软件工程 概念 软件工程的研究内容和基本原理 内容 软件工程的基本原理 软件过程…...
SpringBoot_02
Web后端开发_07 SpringBoot_02 SpringBoot原理 1.配置优先级 1.1配置 SpringBoot中支持三种格式的配置文件: application.propertiesapplication.ymlapplication.yaml properties、yaml、yml三种配置文件,优先级最高的是properties 配置文件优先级…...
实验报告-实验四(时序系统实验)
软件模拟电路图 说明 SW:开关,共六个Q1~Q3:输出Y0~Y3:输出 74LS194 首先,要给S1和S0高电位,将A~D的数据存入寄存器中(如果开始没有存入数据,那么就是0000在里面移位,不…...
PHP+ajax+layui实现双重列表的动态绑定
需求:商户下面有若干个门店,每个门店都需要绑定上收款账户 方案一:每个门店下面添加页面,可以选择账户去绑定。(难度:简单) 方案二:从商户进入,可以自由选择门店&#…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
