Python爬虫:免费下载一万份PPT模板(非常详细)

2024-01-20 09:20

本文主要是介绍Python爬虫:免费下载一万份PPT模板(非常详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 前言

不管是作为学生还是职场打工人作,我们都会要制作和使用ppt ,每次制作 ppt 一搞就是一半天,真的很愁人,网上模板免费的太丑,付费的要钱,害,难呐哈哈哈!!

今天就教大家一招,用 python 爬虫采集 1 万份『ppt 模板』,以后制作 ppt 再也不烦人了!!!

2. 相关介绍

1.模板来源

https://sc.chinaz.com/ppt/free_1.html

复制代码

img

每页 20 条,一共 500 页,共 10000 份 ppt 模板!

2.爬虫思路

  • 先遍历每一页,获取每一个 ppt 模板的 url。
  • 根据 ppt 模板的 url 获取下载地址。
  • 最后根据下载地址将文件下载到本地。

3. 爬取数据

1.遍历每一页

img

通过 xpath 可以定位到标签 class=bot-div,里面包含了 ppt 模板的 url 和名称。

import requestsfrom lxml import etree  ###遍历每一页def getlist():      for k in range(1,501):        url = "https://sc.chinaz.com/ppt/free_"+str(k)+".html"        res = requests.get(url)        res.encoding = 'utf-8'        text = res.text          selector = etree.HTML(text)        list = selector.xpath('//*[@class="bot-div"]')        for i in list:            title = i.xpath('.//a/text()')[0].replace("\n", '').replace(" ", '')            href = i.xpath('.//a/@href')[0].replace("\n", '').replace(" ", '')            print(title)            print(href)            print("----------------")

复制代码

遍历时需要获取每一个 ppt 模板 url(title)**和**名称(href)(方便下载时作为保存文件的命名)

img

2.获取下载地址

以下面 url 为例

https://sc.chinaz.com/ppt/210305465710.htm

复制代码

img

解析下载链接

img

通过 xpath 可以定位到标签 class=download-url,里面包含了四个下载地址,其实四个都一样,选择其中一个就可以了。

res = requests.get(url)res.encoding = 'utf-8'text = res.textselector = etree.HTML(text)href = selector.xpath('//*[@class="download-url"]/a/@href')[0]print(href)

复制代码

img

3.下载保存

根据拿到的下载地址下载文件保存到本地。

r = requests.get(href)with open(str(title)+".rar", "wb") as code:  code.write(r.content)

复制代码

img

img

ok,这样就将 ppt 模板下载到本地了。

下面我们开始批量下载!

4.批量下载

##下载文件def download(url,title):    res = requests.get(url)    res.encoding = 'utf-8'    text = res.text    selector = etree.HTML(text)    href = selector.xpath('//*[@class="download-url"]/a/@href')[0]      r = requests.get(href)    with open(str(title)+".rar", "wb") as code:      code.write(r.content)    print(str(title)+":下载完成!")    ###遍历每一页def getlist():      for k in range(1,501):        url = "https://sc.chinaz.com/ppt/free_"+str(k)+".html"        res = requests.get(url)        res.encoding = 'utf-8'        text = res.text          selector = etree.HTML(text)        list = selector.xpath('//*[@class="bot-div"]')        for i in list:            title = i.xpath('.//a/text()')[0].replace("\n", '').replace(" ", '')            href = i.xpath('.//a/@href')[0].replace("\n", '').replace(" ", '')            download("https://sc.chinaz.com/"+str(href), str(title))

复制代码

img

img

这样就可以将 10000 份 ppt 模板下载完毕

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

小编为对Python感兴趣的小伙伴准备了以下籽料 !

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的!

  • 学习时间相对较短,学习内容更全面更集中
  • 可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

我已经上传至CSDN官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

这篇关于Python爬虫:免费下载一万份PPT模板(非常详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625521

相关文章

python中getsizeof和asizeof的区别小结

《python中getsizeof和asizeof的区别小结》本文详细的介绍了getsizeof和asizeof的区别,这两个函数都用于获取对象的内存占用大小,它们来自不同的库,下面就来详细的介绍一下... 目录sys.getsizeof (python 内置)pympler.asizeof.asizeof

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函