文章來源:Python綠色通道
幾年前,我們給爸媽手機上下載了一款神奇的軟件,他的名字叫微信。幾年後,爸媽就開始吐槽我們的微信頭像了。
爸媽對我們微信頭像的關注程度遠勝過我們的衣食住行,我在新浪微博上看到了這張統計圖。
所以,你就會被催著經常換頭像了。
但是,如果你想來個「絕地反擊」、「以牙還牙」,讓他們換頭像,那你還是太嫩了。
怎麼辦啊?身為技術人兒,我們當然不會被這些問題難住。今天,pk哥就教你如何用技術來個「絕地求生」。
我要讓爸媽看看我所有微信好友的頭像都是什麼樣,讓他們學會適應,適應我們年輕人的頭像。
所以,接下來我要做的,就是收集我微信好友所有好友的微信頭像,並把這些頭像全部整合在一張圖上,然後我們保存或者收藏。下次,你爸媽讓你再換頭像時,哼哼,你就把這大圖發給他們。
以上是我的所有微信好友頭像的「全家福」,微信好友比較多。跟著 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,直接調用即可。獲取頭像後,我們把頭像以數字遞增命名並保存在我們規定的目錄中即可。
上面這個保存圖片的函數,我們看到有個參數,是保存圖片的主目錄,這個主目錄如果不存在,我們就創建一個。我們單獨寫一個函數來定義這個目錄並返回它。
以上兩個簡單的函數,我們就把微信好友的所有圖像保存到指定的目錄了。
頭像合成
接下來我們需要做的是把這所有的頭像製作成「全家福」。
這時,該另外一個庫出場了,他就是圖片處理庫:PIL 庫。
接下來,用這個庫,新建一個一個白色背景的新圖片,根據圖片的大小,把所有圖片按照算好的尺寸填入到這個大畫布中。處理完成後,把「全家福」也保存在頭像同樣的目錄下。
再然後,接下來就不用 pk 哥我教了吧,把「全家福」發到自己微信,保存或者收藏。下次,你媽再喊你換頭像時,你就把這張全家福發給她,告訴她,別人的頭像都是這樣的,我就不換,哼哼。
不說了,我去給我媽發製作好的微信頭像「全家福」了,下次再聊。
記得關注小編後私信【學習】領取Python學習教程哦。