批量生成用户头像
本帖最后由 汤果 于 2021-4-14 09:09 编辑学生在课堂上闲着没事干就打起了教学平台上用户头像的主意,一有空就画头像,在 Photoshop 里面修图。创作了很多无厘头,甚至恶搞本校教师的图片。我就想着把学生用户头像全都覆盖了。于是找到了生成用户头像的平台。
https://multiavatar.com/是一个依据关键词生成随机头像的网站,据说能生成 120 亿独一无二的头像。我们就利用这个平台来为学生批量生成头像。该平台提供的 API 可以很简单地获取头像文件,例如:https://api.multiavatar.com/keyword.png
那我们只要准备一个学生信息名单就可以依据学生的学号生成各自的头像文件了。具体实现的 Python 代码如下:
import requests
import os
url0 = "https://api.multiavatar.com/"
d = 'D:\\avatar\\'
with open('user.txt', 'r', encoding = 'utf-8', newline = '\n') as f:
for line in f:
url = url0 + line.strip() + ".png"
path = d + url.split('/')[-1]
try:
if not os.path.exists(d):
os.mkdir(d)
if not os.path.exists(path):
r = requests.get(url)
r.raise_for_status()
with open(path,'wb') as f1:
f1.write(r.content)
f1.close()
print(line.strip() + "图片保存成功")
else:
print(line.strip() + "图片已存在")
except:
print(line.strip() + "图片获取失败")
f.close()
user.txt 文件中存有学生的学号信息,每行一个学号。生成的头像以学生学号命名,存放在 D 盘 avatar 文件夹中。
不过这种方式有些限制,API 请求上限为 20 次每分钟。所以会出现一系列 1 KB 大小的无效文件。我们需要整理出这些文件清单,重新进行下载。文件量不大的情况下一般可以一次性全部生成。我有 2200 个用户,每次大概有一半无效文件,需要重复操作很多次。
好玩,哈哈 好玩,哈哈
页:
[1]