python朋友圈头像_用python一键生成头像墙,将你微信好友头像全部收集起来
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于腾讯云 作者:Python编程与实战
( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
前言
用 python 代码写了一个一键合成微信好友头像墙的程序,效果如下:
不会写代码?没关系!只要你会使用电脑就 ok!
因为除了用代码方式生成外,还建了一个 .exe 的程序,在电脑点击运行就完事了
下面分别详细的给大家讲解是如何实现的
程序使用教程
1.获取 .exe 程序
2.在windows上点击运行后,会弹出一个微信登陆的二维码,用手机微信扫描,确认登录
3.登陆成功后,程序会显示正在保存的头像,最后会在程序运行的目录生成一张 all.png 的图片
当看到 “所有的微信头像已合成,请查阅all.png!” 的时候,你要的头像墙就在 [wxImages] 文件夹里面
代码教程
代码其实很简单,主要是做起来觉得很有意义,如果你会python基础,再加上下面的讲解,你也可以的!
首先新建一个虚拟环境。为什么要虚拟环境?怎么建虚拟环境? 我之前的文章有写,去历史消息翻翻就能找到
虚拟环境
虚拟环境的名字随意取,我取的是 [“wx”]
在pycharm 中导入刚才建好的虚拟环境
3.需要安装的库:
wxpy 用来操作微信的,除了获取头像,还能给好友发消息,具体可查看官方文档 pillow <=4.2.1 处理头像 pyinstaller
将代码打包成 .exe 程序的
接下来就是写代码了
微信登陆部分代码
1@staticmethod2 defget_image():3 path = os.path.abspath(".") #当前目录
4 bot = Bot() #机器人对象
5 friends = bot.friends(update=True)6 dirs = path + "\\wxImages" #微信头像保存的路径
7 if notos.path.exists(dirs):8 os.mkdir("wxImages")9
10 index =011 for friend infriends:12 print(f"正在保存{friend.nick_name}的微信头像")13 friend.get_avatar(dirs + "\\" + f"{str(index)}.jpg")14 index += 1
15
16 return dirs #合成头像的时候需要用到
合成图像代码
1@staticmethod2 defcomposite_image(dirs):3 images_list =os.listdir(dirs)4 images_list.sort(key=lambda x: int(x[:-4])) #根据头像名称排序
5 length = len(images_list) #头像总数
6 image_size = 2560 #
7 #每个头像大小
8 each_size = math.ceil(image_size /math.floor(math.sqrt(length)))9 lines = math.ceil(math.sqrt(length)) #列数
10 rows = math.ceil(math.sqrt(length)) #行数
11 image = Image.new('RGB', (each_size * lines, each_size *rows))12 row =013 line =014 os.chdir(dirs) #切换工作目录
15 for file in images_list: #遍历每个头像
16 try:17with Image.open(file) as img:18 img =img.resize((each_size, each_size))19 image.paste(img, (line * each_size, row *each_size))20 line += 1
21 if line == lines: #一行填满后开始填下一行
22 line =023 row += 1
24 exceptIOError:25 print(f"头像{file}异常,请查看")26 continue
27
28 img = image.save(os.getcwd() + "/all.png") #将合成的头像保存
29 if notimg:30 print('所有的微信头像已合成,请查阅all.png!')
核心代码完成后,将两部分合一起再导入需要的包,就完事了
源码在此
1#coding: utf-8
2from wxpy importBot, Chat
3importmath
4importos
5from PIL importImage67classWxFriendImage(Chat):8@staticmethod9 defget_image():10 path = os.path.abspath(".")11 bot = Bot() #机器人对象
12 friends = bot.friends(update=True)13
14 dirs = path + "\\wxImages"
15 if notos.path.exists(dirs):16 os.mkdir("wxImages")17
18 index =019 for friend infriends:20 print(f"正在保存{friend.nick_name}的微信头像")21 friend.get_avatar(dirs + "\\" + f"{str(index)}.jpg")22 index += 1
23
24 returndirs25
26@staticmethod27 defcomposite_image(dirs):28 images_list =os.listdir(dirs)29 images_list.sort(key=lambda x: int(x[:-4])) #根据头像名称排序
30 length = len(images_list) #头像总数
31 image_size = 2560
32 #每个头像大小
33 each_size = math.ceil(image_size /math.floor(math.sqrt(length)))34 lines = math.ceil(math.sqrt(length)) #列数
35 rows = math.ceil(math.sqrt(length)) #行数
36 image = Image.new('RGB', (each_size * lines, each_size *rows))37 row =038 line =039os.chdir(dirs)40 for file inimages_list:41 try:42with Image.open(file) as img:43 img =img.resize((each_size, each_size))44 image.paste(img, (line * each_size, row *each_size))45 line += 1
46 if line ==lines:47 line =048 row += 1
49 exceptIOError:50 print(f"头像{file}异常,请查看")51 continue
52 img = image.save(os.getcwd() + "/all.png")53 if notimg:54 print('所有的微信头像已合成,请查阅all.png!')
55defmain():56 dirs =WxFriendImage.get_image()57WxFriendImage.composite_image(dirs)
58if __name__ == '__main__':59 main()
可以将代码复制到自己的编译器里面运行,效果是一样的。
至于打包成 .exe的程序就更简单了
在命令行中运行下面的命令即可
1pyinstaller -F F:\wx\wx.py
运行成功后,会在倒数第二行显示生成程序的保存路径
好了,以上就是两种用python合成微信好友头像的方法
合成之后,可以发到自己的朋友圈,让别人来找找自己的头像在哪,顺便自己还能装个逼,哈哈~`
python朋友圈头像_用python一键生成头像墙,将你微信好友头像全部收集起来相关推荐
- python朋友圈评论_利用Python实现朋友圈中的九宫格图片效果
前言 大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可. 说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使 ...
- python 朋友圈评论_用Python发一个高逼格的朋友圈【附代码】
前阵子在网上看到这个有趣的教程,马上就来实践学习一下,并提供给有需要的朋友学习. 昨晚就敲了代码并且发了朋友圈实验了一下,用Candice女神镇楼,效果如下: 效果还不错吧?接下来马上操作一下. 安装 ...
- python朋友圈数据分析_基于Python的微信朋友圈数据可视化分析之地点
前提 朋友圈的相关数据请参照上一篇文章<基于Python的微信朋友圈数据可视化分析之个性签名>获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了. 将好友的地点按照省份进行 ...
- python朋友圈表白_备战520|Python花式表白的几种姿势
大家好,520它又要来了 所以今天的主题是粉色的 为了各位秃头程序员不再头疼 本文给大家介绍几种用Python表白的姿势 绝不是画个爱心曲线那么简单- . ? 属于TA的词云 用Python将你们的 ...
- python朋友圈表白_情人节「告白生成器」来了!这个AI能让偶像对你说情话,过于真实!...
重磅干货,第一时间送达 情人节将至,当其他人还在苦思冥想如何准备情人节礼物时,我却已经收到了我最喜欢的idol说给我的情话视频-不仅如此,我还用自己的照片说出了亲爱的ta最喜欢的告白台词,究竟是什么技 ...
- python训练营朋友圈留言_用Python发一个高逼格的朋友圈【附代码】
今天二胖要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是二胖发的一个朋友圈 切图前是 ...
- python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...
- python发朋友圈突破朋友圈限制_用Python发一个高逼格的朋友圈
今天Aimee要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是我发的一个朋友圈 切图 ...
- python朋友圈图片_用Python发一个高逼格的朋友圈
原标题:用Python发一个高逼格的朋友圈 今天要给大家介绍一个Python库:PIL(Python Image Library) 下面我们用一个实际的例子,看看50行python代码可以做什么神奇的 ...
- python朋友圈数据分析_第7天|16天搞定Python数据分析,盗墓笔记重现
词云,又称文字云,是由词汇组成类似云的彩色图形.网络上好多漂亮的词云图,好多人以为是用PS软件P出来的,其实不是的,它们是用Python生成的.而且生成的方法还挺简单的,用Python开源的词云库就可 ...
最新文章
- 可测试性如何帮助团队提升效率
- 从零开始的AI·机器学习の基本概念
- 家装强电弱电布线图_家装水电安装技巧?水电验收技巧?
- Java技术:干掉 XML配置文件,新出的 Fluent Mybatis 技术真香!
- 如何在asterisk中限制呼叫路数?
- 谷歌暗示android wear未来或兼容ios系统!腾讯,传谷歌今年5月将推出iOS版本Android Wear...
- win7 iis php5.3,win7 下安装 iis7.5+php5.3的配置方法(图文)
- 步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging
- IOS开发-jqeurey mobile
- 不能创建对象qmdispatch_关于系统弹出错误:429 , ActiveX 部件不能创建对象 的解决方法...
- linux nvidia显卡驱动安装教程,LINUX的NVIDIA显卡驱动安装
- 微型计算机拆卸步骤,《微型计算机拆卸》PPT课件.ppt
- imo教我们的互联网思维9大玩法
- Python: 进行one-hot编码
- [转] Boost算法
- 大话西游2同一个账号同一个服务器,大话西游2:服务器合并你是否支持?老玩家告诉你合服后的影响!...
- C/C++ 使用信号量控制线程运行顺序
- 如何测试 tpc-c
- 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇
- 地方门户类网站建设解决方案
热门文章
- QT——使用QMediaPlayer播放视频
- 自制汉字字库,识别汉字(四)(实用篇)
- 【语音识别】基于matlab GUI MFCC+VAD端点检测智能语音门禁系统【含Matlab源码 451期】
- INTEL CPU 本子 列表 看你的是否支持虚拟化(是否采用了 Intel VT技术)
- 戴尔E6420加装固态硬盘经验分享
- python 读取发票内容,在窗口中显示并保存到excel文件中
- 小学生C++编程基础 课程10
- Excel使用经验——Excel连接Oracle,发生3706错误的解决办法
- ROS::差速运动模型机器人运动控制
- 卡尔曼滤波器公式推导