爬取公众号图片并自动导入到ppt

import requests
import os
from bs4 import BeautifulSoup
import urllib
from tqdm import tqdm
from pptx import Presentation
from pptx.util import Inches
import argparse

print("===================================")
print("删除原有ppt,并重新创建")
if os.path.exists('demo.pptx'):
    os.remove('demo.pptx')
print("===================================")


parser = argparse.ArgumentParser(description='Input The URL')
parser.add_argument('--url', type=str, help='URL')
parser.add_argument('--img_save_path', type=str, default='./img')
opt = parser.parse_args()

img_list = []
resp = requests.get(opt.url)
content = resp.text
bs = BeautifulSoup(content, 'html.parser')

for im in bs.select('img'):
    if 'data-src' in im.attrs:
        img_list.append(im['data-src'])

if not os.path.isdir(opt.img_save_path):
    os.makedirs(opt.img_save_path)
x = 0
for imgurl in tqdm(img_list):
    urllib.request.urlretrieve(imgurl, '{}/{}.jpg'.format(opt.img_save_path,x))
    x = x + 1

print("===================================")
print("图片下载完成,开始制作PPT")
print("===================================")


prs = Presentation()
prs.slide_width = Inches(16)
prs.slide_height = Inches(9)

for i in range(len(os.listdir('./img'))-1):
    prs.slides.add_slide(prs.slide_layouts[6])

img_index = 0
for slide in tqdm(prs.slides):
    slide.shapes.add_picture("img/{}.jpg".format(img_index),left=Inches(0),
                                        top=Inches(0),
                                        width=Inches(16),
                                        height=Inches(9))
    img_index += 1
print("==============制作完成=============")
prs.save("demo.pptx")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Begin,again

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

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

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

打赏作者

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

抵扣说明:

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

余额充值