python获取微信好友的头像,生成头像墙

代码实现
注意,首先项目目录下要创建一个user目录,用来保存获取的微信好友头像。

导入对应的包

import itchat
import PIL.Image as Image
from os import listdir

def get_imgs():#完成主要的下载头像的任务
#每次都需要扫描二维码,方便切换微信账号测试
itchat.auto_login(hotReload=False)
#获取朋友列表(只获取256个),返回字典类型的数据集,获取好友的索引数
friends = itchat.get_friends(update=True)[0:256]
#为图片命名的变量
num = 0
#遍历好友列表
for friend in friends:
#获取好友的头像
img = itchat.get_head_img(userName=friend["UserName"])
#在项目文件的主创建一个user文件用于放头像,并写入对应的图片名,空白的
fileImage = open( "./user/" + str(num) + ".jpg",'wb')
#将获取到的头像文件写到创建的图片文件中
fileImage.write(img)
#关闭资源
fileImage.close()
num += 1

制作大的大头像

def get_big_img():
#获取usr文件夹所有文件的名称
pics = listdir("user")
#创建图片大小
toImage = Image.new("RGB", (800, 800))
#用于图片的位置
x = 0
y = 0
#遍历user文件夹的图片
for pic in pics:
#依次打开图片
img = Image.open("user/{}".format(pic))
#重新设置图片的大小
img = img.resize((50, 50), Image.ANTIALIAS)
#将图片粘贴到最后的大图片上,需要注意对应的位置
toImage.paste(img, (x * 50, y * 50))
#设置每一行排16个图像
x += 1
if x == 16:
x = 0
y += 1

#保存图片为bigPhoto.jpg
toImage.save("user/" +"bigPhoto.jpg")
#将做好图片发送到自己的手机上
itchat.send_image("user/" +"bigPhoto.jpg", 'filehelper')

定义执行的主函数

def main():
get_imgs()
get_big_img()

运行

if name=="main":
main()

你可能感兴趣的:(python获取微信好友的头像,生成头像墙)