python下载的时候更改图片格式

import aiohttp
from PIL import Image
import asyncio
import io
import os

headers = {'User-Agent': 'PixivAndroidApp/5.0.191 (Android 6.0.1; HUAWEI ALE-CL00)',
           'Accept-Language': 'zh_CN',
           'App-OS': 'android',
           'App-OS-Version': '6.0.1',
           'App-Version': '5.0.191',
           'Referer': 'https://www.pixiv.net'}


async def download(url):  # 下载
    filename = os.path.basename(url)  # 从url获取文件名
    print(filename)  # 打印文件名字
    async with aiohttp.ClientSession() as session:
        async with session.get(url, headers=headers) as resp:
            print(resp.status)  # 打印状态码
            test = await resp.content.read()
            im = Image.open(io.BytesIO(test))  # 以二进制读取文件
            im.save(filename)  # 保存图片


asyncio.run(download('https://i.pximg.net/c/600x1200_90_webp/img-master/img/2017/07/25/21/32/50/64047178_p0_master1200.jpg'))

从Pixiv下载的图片用二进制查看是webp格式的,但是后缀名是jpg或者png的,用qqbot发出去的webp格式图片在pcqq上不显示,所以转码一下

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注