效果图

使用方法(前提是设备安装了python):

下载本项目到本地,打开项目主目录,打开命令行,输入:

pip install -r requirements.txt

等待安装完成,输入:

python wxImage.py

出现如下二维码(知乎不让粘贴二维码,所以下面的二维码被河蟹了):

aHR0cHM6Ly9sb2dpbi53ZWl4aW4ucXEuY29tL2wvSVpUNVl5Zlk3UT09 (二维码自动识别)

用手机微信右上角的扫一扫,确认登陆即可。

稍等片刻,你打开手机微信,找到信息栏的微信传输助手,会看到如下:

核心

python:itchat(用于爬取头像)

pillow(用于拼接图片)

源码详解

首先登陆python版本微信itchat,生成二维码:

itchat.auto_login(enableCmdQR=True)

获取好友列表:

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

然后使用itchat的get_head_img(userName=none)函数来爬取好友列表的头像,并下载到本地:

num = 0

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

计算出每张头像缩小后的尺寸(由于为了拼接之后可以用来作为为微信头像,所以合成的图片大小都是640 640的,因为微信头像大小就是640640)

计算每张头像缩小后的边长(默认为正方形):

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

计算合成图片每一边分为多少小边:

numline = int(640 / eachsize)

缩小并拼接图片:

x = 0

y = 0

for i in pics:

try:

#打开图片

img = Image.open(user + "/" + i)

except IOError:

print("Error: 没有找到文件或读取文件失败")

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')

完整代码(下载本人github项目会更好点):

from numpy import *

import itchat

import urllib

import requests

import os

import PIL.Image as Image

from os import listdir

import math

itchat.auto_login(enableCmdQR=True)

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

user = friends[0]["UserName"]

print(user)

os.mkdir(user)

num = 0

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('RGBA', (640, 640))

print(numline)

x = 0

y = 0

for i in pics:

try:

#打开图片

img = Image.open(user + "/" + i)

except IOError:

print("Error: 没有找到文件或读取文件失败")

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')

python爬微信头像_itchat+pillow实现微信好友头像爬取和拼接相关推荐

  1. 微信好友头像爬取及自定义拼接(Python itchat+pillow)

    Python环境实现(略) ******百度,琳琅满目****** 核心模块 itchat(爬取头像) pillow(拼接头像) 内置模块 os(文件夹操作) math(数学计算) 效果图 1.  合 ...

  2. python爬虫好友图片_Python爬取所有微信好友头像,制作微信好友图片墙

    今天咱就试试怎么爬取微信列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定. 核心是利用三个库:wxpy 库,用于获取好友头像然后下载 Pillow 库,用于拼接头像 Pyinsta ...

  3. python爬微信头像_使用python itchat包爬取微信好友头像形成矩形头像集的方法

    初学python,我们必须干点有意思的事!从微信下手吧! 头像集样例如下: 大家可以发朋友圈开启辨认大赛哈哈~ 话不多说,直接上代码,注释我写了比较多,大家应该能看懂 import itchat im ...

  4. python爬取微信好友头像_使用python itchat包爬取微信好友头像形成矩形头像集的方法...

    初学python,我们必须干点有意思的事!从微信下手吧! 头像集样例如下: 大家可以发朋友圈开启辨认大赛哈哈~ 话不多说,直接上代码,注释我写了比较多,大家应该能看懂 import itchat im ...

  5. 用Python爬取微信好友头像,才知道好友都是这样的人

    用Pyhon爬取微信好友头像,才知道好友是这样的人 看你的微信头像,就知道你没见过世面 看你的微信名称,我就猜到了你是个渣男 看你的朋友圈,就能反映出你很好追 选择微信头像的纠结症 现如今,不管是常用 ...

  6. python爬取微信朋友圈图片_使用python itchat包爬取微信好友头像形成矩形头像集的方法...

    初学python,我们必须干点有意思的事!从微信下手吧! 头像集样例如下: 大家可以发朋友圈开启辨认大赛哈哈~ 话不多说,直接上代码,注释我写了比较多,大家应该能看懂 import itchat im ...

  7. python之爬去微信通信录好友头像

    python之爬去微信通信录好友头像 博主最近被学习和生活搞得一团糟,主要是科技英语的作业,想想都,,,网络公众平台就不说那些你懂的的那些话,一个学通信的作业+考试要求和翻译硕士一样对待,,,哎,只怪 ...

  8. Python爬微信好友头像,性别,所在地区

    Python爬微信好友头像,性别,所在地区 本文适合新手(有一定基础的小白) 今天没事,用的网页版微信,于是看源码心理作怪,F12打开,研究了一下,结果发现 /斜眼笑/斜眼笑/斜眼笑 再加上,没事干, ...

  9. 用python itchat包 爬取微信好友头像形成矩形头像集

    原创作品,转载请注明地址哈 ~ ###初学python,我们必须干点有意思的事!从微信下手吧! 头像集样例如下: 大家可以发朋友圈开启辨认大赛哈哈~ 话不多说,直接上代码,注释我写了比较多,大家应该能 ...

最新文章

  1. DataGrid在分页状态下删除纪录的问题
  2. php智能客服,智能客服系统
  3. 最短路径Dijkstra(邻接矩阵)
  4. 最新CAX/EDA/CFD/GIS/光学/化工/液压软件资源网
  5. NetScaler的部署实验之二NetScaler的传输环路值的设定
  6. 构建Hybrid应用-构建ionic开发环境
  7. linux shell sshpass 远程服务器 批量修改密码
  8. 【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )
  9. 【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析
  10. Android开发之实现锁屏功能
  11. x86从实模式到保护模式实验说明
  12. html文件整体结构,HTML文件基本结构
  13. 拓端tecdat:R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
  14. hdu1385 最短路字典序
  15. idea提交本地项目到git
  16. java算法大全_java经典算法_算法面试题大全含答案
  17. 腾讯敏感词汇大全_腾讯数平精准推荐 | OCR技术之识别篇
  18. Vue+element+Nodejs学习记录(6)
  19. vim 删除首尾空格
  20. JQ input框单多图上传

热门文章

  1. SEO查询工具你只知道5118吗?这个工具包值得收藏
  2. Python统计学:如何理解单样本t检验?
  3. 仿智联招聘实现简历导出功能
  4. 【ReID】【代码注释】OSNet模型 deep-person-reid/torchreid/models/osnet.py
  5. 蓝牙定位技术使室内定位更加精准--高精度定位--新导智能
  6. 什么是tcp三次握手
  7. 将多个月的nc数据文件合并成一个(月平均)
  8. 区块链项目 - 9 UTXO优化
  9. 这些单晶XRD测试问题你了解吗?(二)
  10. 120941138报:工信部正搭建移动应用认证和管理服务