欢迎来我的博客: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()