前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tinypng图片压缩非API

Tinypng图片压缩非API

作者头像
前端小鑫同学
发布2022-12-24 11:00:18
2400
发布2022-12-24 11:00:18
举报
代码语言:javascript
复制
import requests
import json
import os


'''
上传文件进行压缩并获取返回压缩后的图片地址
'''
def get_down_url(file_path):
    url = 'https://tinypng.com/web/shrink'
    with open(file_path, 'rb') as rf:
        data = rf.read()
        headers = {'user-agent':
                       'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) '
                       'AppleWebKit/537.36 (KHTML, like Gecko) '
                       'Chrome/68.0.3440.106 Mobile Safari/537.36'}
        resp = requests.post(url, data=data, headers=headers)
        print(json.loads(resp.text).get('error'))
        resp_json = json.loads(resp.text)
        (filepath, tempfilename) = os.path.split(file_path)
        (filename, extension) = os.path.splitext(tempfilename)
        yield resp_json.get('output')['url']+'/'+filename+extension


'''
下载指定地址图片到本地
'''
def down_img(url):
    (filepath, tempfilename) = os.path.split(url)
    (filename, extension) = os.path.splitext(tempfilename)
    print('start down : ' + filename + extension + ' ...')
    resp = requests.get(url)
    with open('to/'+filename+extension, 'wb') as wf:
        print('start save : ' + filename + extension + ' ...')
        wf.write(resp.content)
        print('save ok : ' + filename+extension)


def start_task():
    paths = os.listdir('./from')
    print('start task')
    for item in paths:
        print('from : ' + item)
        urls = get_down_url('from/' + item)
        for url in urls:
            down_img(url)


if __name__ == '__main__':
    start_task()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档