03.使用python的第三方库itchat获取全部微信好友头像,并拼接成大图

简介: 03.使用python的第三方库itchat获取全部微信好友头像,并拼接成大图

目的

为第四步过滤非人脸图片做准备。

安装第三方库itchat

pip install itchat

代码


注意,首先项目目录下要创建一个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()


目录
相关文章
|
2月前
|
小程序 API 开发工具
使用python 实现微信签到提醒功能
【9月更文挑战第4天】使用python 实现微信签到提醒功能
71 2
|
4月前
|
存储 小程序 API
【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
82 0
【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
|
4月前
|
小程序 JavaScript 安全
【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)
【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)
179 0
|
4月前
|
小程序
【微信小程序-原生开发】TDesign 实战模板——带性别图标的头像
【微信小程序-原生开发】TDesign 实战模板——带性别图标的头像
69 0
|
4月前
|
小程序 数据库 C++
【微信小程序-原生开发】实用教程17 - 详情页触发列表页刷新,点击图片放大预览,转发给好友/群,分享到朋友圈
【微信小程序-原生开发】实用教程17 - 详情页触发列表页刷新,点击图片放大预览,转发给好友/群,分享到朋友圈
43 0
|
4月前
|
缓存 容器
Flutter实现仿微信群头像功能
Flutter实现仿微信群头像功能
68 0
|
5月前
|
API 开发工具
企业微信SDK接口API调用-触发推送企业微信微信好友
企业微信SDK接口API调用-触发推送企业微信微信好友
|
5月前
微信小游戏全局开启好友和朋友圈分享功能
微信小游戏全局开启好友和朋友圈分享功能
56 0
|
5月前
|
API 开发工具
企业微信api接口调用-通过手机号或微信好友添加客户
企业微信api接口调用-通过手机号或微信好友添加客户
|
5月前
|
API 开发工具
企业微信api接口调用-触发推送企业微信微信好友
企业微信api接口调用-触发推送企业微信微信好友