几种公共图床Python调用
RT,因为发博客的需求,关注了一些免费图床。
之前一直用的sm.ms+CSDN,基本没啥问题,最近sm.ms的访问速度还有所加快?
对这个方案感兴趣的可以阅读教大家如何白嫖CSDN图床。
但是毕竟是白嫖,也不知道啥时候会出问题,这时候正好看到异次元的一篇文章16 个免费图床网站全收集 - 稳定国内可用支持外链图片服务推荐 (含测速对比)。
今天花了一点时间挑了里边的几个图床进行了Python调用测试。
直接上代码:
import requests
import json
import time
import random
imgPath = 'test.png'
def uploadToVimCn(imgPath):
'''上传到Vim-cn'''
imgOpen = open(imgPath, 'rb')
files = {'file': imgOpen}
r = requests.post('https://img.vim-cn.com/',
data={'name': '@/path/to/image'}, files=files)
imgOpen.close()
return r.text
def uploadToRruu(imgPath):
'''上传到如优图床和阿里图床'''
imgOpen = open(imgPath, 'rb')
files = {'image': imgOpen}
apiType = 'ali'
token = '<token>'
r = requests.post('https://img.rruu.net/api/upload',
data={'apiType': apiType, 'privateStorage': '', 'token': token}, files=files)
imgOpen.close()
respJson = r.json()
urls = {}
if str(respJson['code']).strip() == '200' and str(respJson['msg']).strip() == 'success':
urls['rruu'] = respJson['data']['url']['distribute']
urls['ali'] = respJson['data']['url']['ali']
return urls
# print(uploadToVimCn(imgPath))
print(uploadToRruu(imgPath))
目前只测试了Vim-CN和如优图床,不过如优图床本身是支持多种图床调用的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riekFH8h-1618132140255)(https://i.loli.net/2021/04/11/XuK9bxpoP1ISlZ3.png)]
不过测试的时候发现并不是那么美好,比如bilibili就需要登录,否则会调用失败。
不过如优图床本身和阿里的存储都没啥问题。
需要说明的是使用如优图床API需要注册,使用注册后的token就可以调用,每个账户的图床容量是10G,不清楚容量满了影响不影响通过如优API调用其它图床。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qt75lpm8-1618132140265)(https://i.loli.net/2021/04/11/K7yXpGBQ62Idlhk.png)]
不过如优的注册很宽泛,只要邮箱,也就是说容量满了你可以再注册一个账号。
好了,以上。
有时间了我会更新Python编写的markdown图片处理程序,加入测试的这两种图床调用。
本文介绍了在Python中使用Vim-CN和如优图床进行图片上传的实践经验,包括如优图床的API使用和注册流程,以及遇到的问题如bilibili图床需要登录才能调用。

123

被折叠的 条评论
为什么被折叠?



