我用Python採集了所有微信好友的頭像,發現了一個祕密

Python 微信 圖像處理 收藏 軟件 小菜鳥程序員 2019-04-05

文章來源:Python綠色通道

幾年前,我們給爸媽手機上下載了一款神奇的軟件,他的名字叫微信。幾年後,爸媽就開始吐槽我們的微信頭像了。

爸媽對我們微信頭像的關注程度遠勝過我們的衣食住行,我在新浪微博上看到了這張統計圖。

我用Python採集了所有微信好友的頭像,發現了一個祕密

所以,你就會被催著經常換頭像了。

我用Python採集了所有微信好友的頭像,發現了一個祕密

但是,如果你想來個「絕地反擊」、「以牙還牙」,讓他們換頭像,那你還是太嫩了。

我用Python採集了所有微信好友的頭像,發現了一個祕密


我用Python採集了所有微信好友的頭像,發現了一個祕密

怎麼辦啊?身為技術人兒,我們當然不會被這些問題難住。今天,pk哥就教你如何用技術來個「絕地求生」。

我要讓爸媽看看我所有微信好友的頭像都是什麼樣,讓他們學會適應,適應我們年輕人的頭像。

我用Python採集了所有微信好友的頭像,發現了一個祕密

所以,接下來我要做的,就是收集我微信好友所有好友的微信頭像,並把這些頭像全部整合在一張圖上,然後我們保存或者收藏。下次,你爸媽讓你再換頭像時,哼哼,你就把這大圖發給他們。

我用Python採集了所有微信好友的頭像,發現了一個祕密

以上是我的所有微信好友頭像的「全家福」,微信好友比較多。跟著 pk 哥學,分分鐘教會你做一張屬於你自己微信圈所有好友頭像的「全家福」。

項目環境

語言環境:Python 3.6

導入庫:itchat、PIL

因為我們要獲取微信頭像,所以我們又要請出我們的老朋友 itchat 庫了,這個庫應該不陌生了,因為 pk 哥之前用它做過微信機器人:用 Python 玩微信,機器人陪你嘮嗑;用它繪製過微信好友的簽名的詞雲圖:Python爬取微信,我發現了之前沒發現的祕密!;用它查看好友撤回的消息:Python騷操作 | 還原已撤回的微信消息;用它給你的女神說早安或者晚安:你還單身?Python 教你脫單。

頭像收集完成後,我們還有對所有頭像進行合成處理,所以我們還要引入一個 PIL 圖像處理庫。

所以,有這麼強大的庫支持我們,我們一定可以「絕地反擊」、「反敗為勝」的,相信我,嘿嘿。

以上說的庫請自行用 pip 命令安裝好,導入就行。

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

登錄微信

我們首先用 itchat 庫登錄我們的微信,獲取所有好友信息。

itchat.auto_login(True) # 登錄微信
friends = itchat.get_friends(update=True)[0:]

保存頭像

itchat 庫中有個自帶的獲取微信頭像的方法:get_head_img,直接調用即可。獲取頭像後,我們把頭像以數字遞增命名並保存在我們規定的目錄中即可。

我用Python採集了所有微信好友的頭像,發現了一個祕密

上面這個保存圖片的函數,我們看到有個參數,是保存圖片的主目錄,這個主目錄如果不存在,我們就創建一個。我們單獨寫一個函數來定義這個目錄並返回它。


我用Python採集了所有微信好友的頭像,發現了一個祕密

以上兩個簡單的函數,我們就把微信好友的所有圖像保存到指定的目錄了。

頭像合成

接下來我們需要做的是把這所有的頭像製作成「全家福」。

這時,該另外一個庫出場了,他就是圖片處理庫:PIL 庫。

接下來,用這個庫,新建一個一個白色背景的新圖片,根據圖片的大小,把所有圖片按照算好的尺寸填入到這個大畫布中。處理完成後,把「全家福」也保存在頭像同樣的目錄下。

我用Python採集了所有微信好友的頭像,發現了一個祕密

再然後,接下來就不用 pk 哥我教了吧,把「全家福」發到自己微信,保存或者收藏。下次,你媽再喊你換頭像時,你就把這張全家福發給她,告訴她,別人的頭像都是這樣的,我就不換,哼哼。

不說了,我去給我媽發製作好的微信頭像「全家福」了,下次再聊。


我用Python採集了所有微信好友的頭像,發現了一個祕密

記得關注小編後私信【學習】領取Python學習教程哦。
我用Python採集了所有微信好友的頭像,發現了一個祕密

相關推薦

推薦中...