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中使用Mako模版库的简单教程
Apr 08 Python
Python实现对PPT文件进行截图操作的方法
Apr 28 Python
Python爬取qq music中的音乐url及批量下载
Mar 23 Python
使用python遍历指定城市的一周气温
Mar 31 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
Python编程实现控制cmd命令行显示颜色的方法示例
Aug 14 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
Python基础之函数的定义与使用示例
Mar 23 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
python代码xml转txt实例
Mar 10 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 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中动态HTML的输出技术
2006/10/09 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
javascript判断office版本示例
2014/04/11 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
Python pathlib模块使用方法及实例解析
2020/10/05 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
最新计算机专业自荐信
2013/10/16 职场文书
学生生病请假条范文
2014/02/16 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
教师业务培训方案
2014/05/01 职场文书
大学专科求职信
2014/07/02 职场文书
资产移交协议书
2016/03/24 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python