栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

itchat+pillow实现微信好友头像爬取和拼接

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

itchat+pillow实现微信好友头像爬取和拼接

itchat+pillow实现微信好友头像爬取和拼接

coding:utf-8

from numpy import *
import itchat
import urllib
import requests
import os
from PIL import Image
from os import listdir
import math

微信扫描登录

itchat.auto_login(hotReload=True)

获取微信好友列表

friends = itchat.get_friends(update=True)[0:]

user = 'images'
if os.path.exists(user) == False:
os.mkdir(user)

爬取微信好友头像图片,下载保存到本地

num = 1
for i in friends:
img = itchat.get_head_img(userName=i["UserName"])
fileImage = open(user + "/" + str(num) + ".jpg",'wb')
fileImage.write(img)
fileImage.close()
num += 1

pics = listdir(user)

微信好友个数

numPic = len(pics)
print(numPic)

微信好友头像缩小后,每个头像的大小

eachsize = int(math.sqrt(float(640 * 640) / numPic))

print(eachsize)

每行头像的个数

numline = int(640 / eachsize)

toImage = Image.new('RGB', (640, 640))

print(numline)

x = 0
y = 0

for i in pics:
try:

打开图片
    img = Image.open(user + "/" + i)
except IOError:
    print("Error: 没有找到文件或读取文件失败"+i)
else:
    #缩小图片
    img = img.resize((eachsize, eachsize), Image.ANTIALIAS)
    #拼接图片
    toImage.paste(img, (x * eachsize, y * eachsize))
    x += 1
    if x == numline:
 x = 0
 y += 1

toImage.save(user + ".jpg")
itchat.send_image(user + ".jpg", 'filehelper')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/224796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号