python批量下载ppt

一个个下载ppt比较麻烦,可以试试使用python爬取很方便


import requests #导入响应模块
import re #导入re模块正则表达式
page=1 #页数
count=1  #已经爬取的数量
while True:
    if page==1:   #假如是第一页则输入下面网站
        sy_url = 'https://www.ypppt.com/moban/'
    else:
        sy_url = f'https://www.ypppt.com/moban/list-{page}.html'#否则就是这个第几页数的网站
    res_sy=requests.get(sy_url) #获取主页网址响应
    if res_sy.status_code == 404:
        break
    res_sy.encoding = 'utf-8'
    res_sy.encoding="utf-8"  # 格式编码类型用utf-8
    gl_1=re.findall('<a href="/article/.*?/(.*?).html"class="img_preview"',res_sy.text)#筛选页面的ppt模板编码
    for aid in gl_1:   #把对应编码的ppt模板一个一个拿下来
        xqy_url = 'https://www.ypppt.com/p/d.php?aid='+aid#对应编码的请求网站
        res_mb=requests.get(xqy_url)#获取模板网站的响应
        xz_url=re.findall('<li><a href="(.*?)">下载地址1</a></li>',res_mb.text)[0]#过滤下载的网址
        filename=re.findall('<title>(.*?) - 下载页</title>',res_mb.text)[0] #筛选名称
        if 'pan.baidu' in xz_url:  #如果过滤的下载网址里面有pan.baidu就跳过
            continue
        else: #跳过后获取格式
            filenametype = xz_url.split('.')[-1]  # 获取格式.后面的就是格式
            # 下载网址 保存文件
        res_ppt=requests.get(xz_url) #获取最终下载的响应
        open(f'{filename}.{filenametype}',"wb").write(res_ppt.content) #写入下载进f盘ppt文件 响应带入名称格式
        print(xz_url) #打印最终下载的网址
        print(f'{filename}.{filenametype} 第{page}页共{count}个模板下载完毕')#打印下载进度
        count += 1 #每下载完一个模板就就+1
    page+=1 #每下载完一页就+一页翻页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三颗草丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值