欢迎访问
这是个实用的Python网站

用itchat库爬取你所有微信好友的头像,并合成一张大图

几年前,我们给爸妈手机上下载了一款神奇的软件,他的名字叫微信。几年后,爸妈就开始吐槽我们的微信头像了。

爸妈对我们微信头像的关注程度远胜过我们的衣食住行,我在新浪微博上看到了这张统计图。

图片来源:新浪微博

所以,你就会被催着经常换头像了。

图片来源:新浪微博

但是,如果你想来个「绝地反击」、「以牙还牙」,让他们换头像,那你还是太嫩了。

图片来源:新浪微博

怎么办啊?身为技术人儿,我们当然不会被这些问题难住。今天,pk哥就教你如何用技术来个「绝地求生」。

我要让爸妈看看我所有微信好友的头像都是什么样,让他们学会适应,适应我们年轻人的头像。

所以,接下来我要做的,就是收集我微信好友所有好友的微信头像,并把这些头像全部整合在一张图上,然后我们保存或者收藏。下次,你爸妈让你再换头像时,哼哼,你就把这大图发给他们。

图片来自Python知识圈制作,请勿随意转载,挪为它用

以上是我的所有微信好友头像的「全家福」,微信好友比较多。跟着 pk 哥学,分分钟教会你做一张属于你自己微信圈所有好友头像的「全家福」。

 

项目环境

语言环境Python 3.6

导入库:itchat、PIL

因为我们要获取微信头像,所以我们又要请出我们的老朋友 itchat 库了,这个库应该不陌生了,因为 pk 哥之前用它做过微信机器人:用 Python 玩微信,机器人陪你唠嗑;用它绘制过微信好友的签名的词云图:Python爬取微信,我发现了之前没发现的秘密!;用它查看好友撤回的消息:Python骚操作 | 还原已撤回的微信消息;用它给你的女神说早安或者晚安:你还单身?Python 教你脱单

头像收集完成后,我们还有对所有头像进行合成处理,所以我们还要引入一个 PIL 图像处理库。

所以,有这么强大的库支持我们,我们一定可以「绝地反击」、「反败为胜」的,相信我,嘿嘿。

以上说的库请自行用 pip 命令安装好,导入就行。

登录微信

我们首先用 itchat 库登录我们的微信,获取所有好友信息。

保存头像

itchat 库中有个自带的获取微信头像的方法:get_head_img,直接调用即可。获取头像后,我们把头像以数字递增命名并保存在我们规定的目录中即可。

上面这个保存图片的函数,我们看到有个参数,是保存图片的主目录,这个主目录如果不存在,我们就创建一个。我们单独写一个函数来定义这个目录并返回它。

以上两个简单的函数,我们就把微信好友的所有图像保存到指定的目录了。

头像合成

接下来我们需要做的是把这所有的头像制作成「全家福」。

这时,该另外一个库出场了,他就是图片处理库:PIL 库。

接下来,用这个库,新建一个一个白色背景的新图片,根据图片的大小,把所有图片按照算好的尺寸填入到这个大画布中。处理完成后,把「全家福」也保存在头像同样的目录下。

再然后,接下来就不用 pk 哥我教了吧,把「全家福」发到自己微信,保存或者收藏。下次,你妈再喊你换头像时,你就把这张全家福发给她,告诉她,别人的头像都是这样的,我就不换,哼哼。

不说了,我去给我妈发制作好的微信头像「全家福」了,下次再聊。

想要获取本文完整版代码,请在公众号后台回复「微信头像」获取。

 

赞(1) 打赏
未经允许不得转载:Python知识圈 » 用itchat库爬取你所有微信好友的头像,并合成一张大图

评论 2

  1. #1

    这个好

    匿名7个月前 (03-24)回复
  2. #2

    微信头像

    匿名2周前 (09-29)回复