批量生成用户头像

2021-04-148110
AI 快速预览详细 收起
本文介绍了如何利用multiavatar.com平台批量生成用户头像。通过Python代码,可以根据学生的学号生成各自的头像文件。尽管API请求有限制,但通过多次操作可以成功生成所有头像。这种方式不仅解决了学生恶搞头像的问题,还为教师提供了便捷的解决方案。


学生在课堂上闲着没事干就打起了教学平台上用户头像的主意,一有空就画头像,在 Photoshop 里面修图。创作了很多无厘头,甚至恶搞本校教师的图片。我就想着把学生用户头像全都覆盖了。于是找到了生成用户头像的平台。
批量生成用户头像图1
https://multiavatar.com/是一个依据关键词生成随机头像的网站,据说能生成 120 亿独一无二的头像。我们就利用这个平台来为学生批量生成头像。该平台提供的 API 可以很简单地获取头像文件,例如:
https://api.multiavatar.com/keyword.png

那我们只要准备一个学生信息名单就可以依据学生的学号生成各自的头像文件了。具体实现的 Python 代码如下:
  1. import requests
  2. import os
  3. url0 = "https://api.multiavatar.com/"
  4. d = 'D:\\avatar\\'
  5. with open('user.txt', 'r', encoding = 'utf-8', newline = '\n') as f:
  6.     for line in f:
  7.         url = url0 + line.strip() + ".png"
  8.         path = d + url.split('/')[-1]
  9.         try:
  10.             if not os.path.exists(d):
  11.                 os.mkdir(d)
  12.             if not os.path.exists(path):
  13.                 r = requests.get(url)
  14.                 r.raise_for_status()   
  15.                 with open(path,'wb') as f1:
  16.                     f1.write(r.content)
  17.                     f1.close()
  18.                     print(line.strip() + "图片保存成功")
  19.             else:
  20.                 print(line.strip() + "图片已存在")
  21.         except:
  22.             print(line.strip() + "图片获取失败")
  23. f.close()
复制代码
user.txt 文件中存有学生的学号信息,每行一个学号。生成的头像以学生学号命名,存放在 D 盘 avatar 文件夹中。批量生成用户头像图2
不过这种方式有些限制,API 请求上限为 20 次每分钟。所以会出现一系列 1 KB 大小的无效文件。我们需要整理出这些文件清单,重新进行下载。文件量不大的情况下一般可以一次性全部生成。我有 2200 个用户,每次大概有一半无效文件,需要重复操作很多次。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
pATAq
pATAq
好玩,哈哈
pATAq
pATAq
好玩,哈哈
- 没有更多了 -