Python 爬取学习通图片并自动创建添加到PPT

欢迎来我的博客:http://www.dwlufvexyu.com/

前记:起初图片的爬取我朋友在做,当时他没搞好问了我一个问题,然后后来他说想存进ppt里,然后我就开始弄了(当时我也是马上百度创建ppt的方法,就开始自己弄了)。最后弄完他告诉我,想存进pdf里,先溜了溜了~~~

(正在填坑更新中。。。)

ps:其实还可以做成可视化的:输入img_url直接帮你下载,也不难完成,有兴趣的小伙伴可以试试;

直接上🐎

import os

from pptx import Presentation
from pptx.util import Inches
import requests

def download_imgs():
    prs = Presentation()
    # 应该是加载模块? 因为当时我也是现学这我最开始以为百度连在一起的两句是个模块不能分开 后来发现不是!
    # 创建一个空白ppt
    blank_slide_layout = prs.slide_layouts[6]

    # 图片位置 这里需要自己慢慢调想要的位置 left 我取0就偏离了 top取0 也偏了 我都试了
    top = Inches(1)
    left = Inches(1)
    height = Inches(6)
    #范围大小无所谓,后面可以判断
    for i in range(1,50): 
        #放入你的图片url  这里url可以优化一下 有很多种写法 
        url = "https://s3.ananas.chaoxing.com/doc/b8/e6/b1/9bff1bf81cc704257e99e39b5cab8f65/thumb/%s.png"%i
        res = requests.get(url)
        #判断是否存在该url嘛
        if res.status_code == 200:
            with open("D:/Pythonstudy/single_project/PPT/%s.png" % i, "wb") as f:
                pic = res.content
                f.write(pic)
                print("success-" + str(i))
                #存放位置
            img_path = 'D:/Pythonstudy/single_project/PPT/%s.png' % i
          #因为百度很多都是和上面那句blank_slide_layou...放在一起但是这里并不是
            # 添加到ppt中 就是这句话 !!起初我和前面那句放在一起发现有问题 如果放在外面发现就一个 而且如果你这个位置不对,那么他会创建很多空白的页(也就是你的范围页数) 浪费空间 后来重新理清逻辑思路 找到正确位置
            slide = prs.slides.add_slide(blank_slide_layout)
             # 判断是否存在该文件,因为同样在for循环里所以要判断一下
            if os.access(img_path, os.F_OK):
                pic = slide.shapes.add_picture(img_path, left, top, height=height)
    #文件名
    prs.save("Dsp-2.1.pptx")



download_imgs()

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值