python itchat实现微信好友头像拼接图的示例代码


Posted in Python onAugust 14, 2017

偶然在网上发现itchat这个框架,itchat是一个开源的微信个人号接口,它使python调用微信变得非常简单。看到网上有人发自己微信好友的头像拼接图,自己也做了一个,感觉还蛮好玩的。

效果图

python itchat实现微信好友头像拼接图的示例代码

下面介绍实现过程:

安装itchat

这个当然还是使用豆瓣源了,速度杠杠的pip install -i https://pypi.douban.com/simple/ itchat

项目依赖

头像拼接用到了pillow这个第三方库,和itchat一样的安装方法

代码

首先调用接口登录,然后可以获取到好友信息,其中第一个为自己的信息。返回的信息为一个列表,里面内容可以复制出来通过json工具格式化,查看返回的字段。然后再次调用接口下载图片,用pillow拼接即可。

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

#给auto_login方法传入值为真的hotReload.即使程序关闭,一定时间内重新开启也可以不用重新扫码
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)

#下载所有好友的头像图片
num = 0
for i in friends:
 img = itchat.get_head_img(i["UserName"])
 with open('./headImg/' + str(num) + ".jpg",'wb') as f:
  f.write(img)
  f.close()
  num += 1
#获取文件夹内的文件个数
length = len(os.listdir('./headImg'))
#根据总面积求每一个的大小
each_size = int(math.sqrt(float(810*810)/length))
#每一行可以放多少个
lines = int(810/each_size)
#生成白色背景新图片
image = Image.new('RGBA', (810, 810),'white')
x = 0
y = 0
for i in range(0,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) #resize image with high-quality
  image.paste(img, (x * each_size, y * each_size))
  x += 1
  if x == lines:
   x = 0
   y += 1
image.save('./headImg/' + "all.jpg")
#通过文件传输助手发送到自己微信中
itchat.send_image('./headImg/' + "all.jpg",'filehelper')
image.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中用keys()方法返回字典键的教程
May 21 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
Tensorflow的常用矩阵生成方式
Jan 04 Python
Python3列表List入门知识附实例
Feb 09 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
Feb 17 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
Python如何实现定时器功能
May 28 Python
python 制作简单的音乐播放器
Nov 25 Python
python的mysqldb安装步骤详解
Aug 14 #Python
python制作小说爬虫实录
Aug 14 #Python
python安装Scrapy图文教程
Aug 14 #Python
基于python时间处理方法(详解)
Aug 14 #Python
关于Django外键赋值问题详解
Aug 13 #Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 #Python
详解python中executemany和序列的使用方法
Aug 12 #Python
You might like
php基础知识:类与对象(5) static
2006/12/13 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
jQuery 页面 Mask实现代码
2010/01/09 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
pycharm执行python时,填写参数的方法
2018/10/29 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
配置管理计划的主要内容有哪些
2014/06/20 面试题
十佳护士获奖感言
2014/02/18 职场文书
2014年党支部工作总结
2014/11/13 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
Python中如何处理常见报错
2022/01/18 Python