2021-10-26

这段代码演示了如何使用Python从超星学习通下载特定课程的图片资源,并将这些图片合并成一个PDF文件。它首先创建一个文件夹来存储图片,然后通过循环遍历URL列表下载图片。最后,利用PIL库将所有图片合并到一个PDF中。
摘要由CSDN通过智能技术生成

从超星学习通下载对应课程的资源

import os
import requests
import time
import urllib.request


# #----获取时间----创建文件夹----
# tt = time.strftime("%Y%m%d---%H%M", time.localtime())
# #path = r"F:\desktop\爬取的图片"
# path = "./pics"


# if not os.path.exists(path):
#     os.makedirs(path)
#     print('文件夹创建完成  '+path)
# #--------------存储目录创建结束----
# #------------Main------------------
# piclist = []
# for ii in range(1,500,1):
#     url = 'https://s3.ananas.chaoxing.com/sv-w8/doc/11/13/37/95cea3c5361aaa3e613a189848ffa852/thumb/%i.png' % ii
#     piclist.append(url)
# print(piclist)
# x = 1
# for http in piclist:
#     print(http)
#    # filesavepath = r'F:\desktop\爬取的图片\%s.jpg' % x
#     filesavepath = path + '/'+'%s.jpg' % x
#     try:
#         urllib.request.urlretrieve(http, filesavepath)
#     except urllib.error.HTTPError:
#         break
#     x += 1
#     print('正在保存第{:.0f}张图片'.format(x))
#     #time.sleep(1)


from PIL import Image


def combine2Pdf( folderPath, pdfFilePath ):
    files = os.listdir(folderPath)
    pngFiles = []
    sources = []
    for file in files:
        print(file)
        if 'jpg' in file:
            pngFiles.append( folderPath+ '/' + file )
    pngFiles.sort()
    output = Image.open(pngFiles[0])
    pngFiles.pop(0)
    for file in pngFiles:
        pngFile = Image.open(file)
        if pngFile.mode == "RGBA":
            pngFile = pngFile.convert( "RGBA" )
        sources.append( pngFile )
    output.save( pdfFilePath, "pdf", save_all=True, append_images=sources )

if __name__ == "__main__":
    folder = "./pics"
    pdfFile = "./tmp.pdf"
    combine2Pdf( folder, pdfFile )
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值