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

相关文章

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优