美文网首页
使用itchat爬取好友头像

使用itchat爬取好友头像

作者: Benny_浩 | 来源:发表于2018-02-13 09:01 被阅读61次

环境 python3
模块 itchat,PIL

import itchat
import math
import os
import PIL.Image as Image

itchat.login() #扫码登录微信网页端
friends = itchat.get_friends(update=True) #获取最新好友信息,否则读取本地文件

num = 0
for i in friends:
    img = itchat.get_head_img(i["UserName"]) #内置方法,下载所有好友的头像,也可以获取群头像
    with open("./headImg2/" + str(num) + ".jpg","wb") as f:
        f.write(img)
        f.close()
        print('%s is finished' % str(num))
        num += 1

#获取文件夹中的文件个数
length = len(os.listdir("./headImg/"))
#根据总面积求每一个的大小
each_size = int(math.sqrt(float(810*810)/length))
#每一行可以放多少个
lines = int(810/each_size)
#生成白色新背景
image = Image.new('RGB',(810,810),'white')
x = 0
y = 0
for i in range(1,length):
    try:
        img = Image.open("./headImg/" + str(i) + ".jpg")
    except IOError:
        print(i)
        print("Error")
    else:
        img = img.resize((each_size,each_size),Image.ANTIALIAS) #高质量缩放图片
        image.paste(img, (x * each_size, y * each_size))
        print("finish %s" % str(i))
        x += 1
        if x == lines:
            x = 0
            y += 1

image.save('./headImg/' + "all.jpg")
itchat.send_image('./headImg/' + "all.jpg",'filehelper') 通过文件传输助手发送到自己微信中
image.show() #本地打开图片

相关文章

网友评论

      本文标题:使用itchat爬取好友头像

      本文链接:https://www.haomeiwen.com/subject/zvqjtftx.html