1038浏览
查看: 1038|回复: 2

批量生成用户头像

[复制链接]
本帖最后由 汤果 于 2021-4-14 09:09 编辑

学生在课堂上闲着没事干就打起了教学平台上用户头像的主意,一有空就画头像,在 Photoshop 里面修图。创作了很多无厘头,甚至恶搞本校教师的图片。我就想着把学生用户头像全都覆盖了。于是找到了生成用户头像的平台。
mutiavatar.PNG
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 文件夹中。 头像.PNG
不过这种方式有些限制,API 请求上限为 20 次每分钟。所以会出现一系列 1 KB 大小的无效文件。我们需要整理出这些文件清单,重新进行下载。文件量不大的情况下一般可以一次性全部生成。我有 2200 个用户,每次大概有一半无效文件,需要重复操作很多次。

pATAq  版主

发表于 2021-4-15 08:57:05

好玩,哈哈
回复

使用道具 举报

pATAq  版主

发表于 2021-4-15 08:57:09

好玩,哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail