日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
炫技!一鍵拼出你的微信好友圖片墻

每個(gè)人的好友少者幾百,多者三五千。學(xué)Python這么久,有沒(méi)有想過(guò)用Python一鍵拼出你的好友圖,做一些有意思的項(xiàng)目,是不是很有成就感,你就會(huì)發(fā)現(xiàn)學(xué)Python真心有用的,我們先來(lái)看一下震撼的效果圖。

有沒(méi)有犯密集恐懼癥?這并不震撼,如果你有 5000 位好友的話,做出來(lái)的圖看著會(huì)更刺激些。

看完了圖,你可能想知道這個(gè)圖咋做出來(lái)的,不會(huì)是我閑著無(wú)聊把把好友頭像一個(gè)個(gè)保存下來(lái)再用 PS 拼的吧?

自然不是了,Python 做的,是不是覺(jué)得沒(méi)有 Python 干不了的事兒。其實(shí),這種圖很早就有人玩過(guò)了,不過(guò)下面還是來(lái)說(shuō)說(shuō)怎么做出來(lái),這樣你可以做一個(gè)自己的微信好友圖片墻,拿去朋友圈裝裝逼。

有兩種方法,一種簡(jiǎn)單的,不用接觸 Python 代碼,一種稍微復(fù)雜點(diǎn),需要寫(xiě)代碼。

先說(shuō)簡(jiǎn)單的方法,只需要兩步:運(yùn)行程序然后掃微信二維碼就行了。剩下的交給程序自己蹦跶,泡杯茶在電腦前等待幾分鐘左右就可以得到圖片,具體的等待時(shí)間視微信好友數(shù)量而不同,我近 2000 好友,用時(shí) 10 分鐘左右。

一個(gè)簡(jiǎn)單的操作示意圖:

幾分鐘后就可以得到上面的圖片了。

其實(shí)到這兒就完了,是不是很簡(jiǎn)單。

你要感興趣怎么實(shí)現(xiàn)的,可以往下看用 Python 代碼怎么實(shí)現(xiàn)的,代碼不長(zhǎng),60 行就可以搞定。

核心是利用三個(gè)個(gè)庫(kù):

  • wxpy 庫(kù),用于獲取好友頭像然后下載
  • Pillow 庫(kù),用于拼接頭像
  • Pyinstaller 庫(kù),用來(lái)打包 Python 程序成 exe 文件

程序通過(guò)三個(gè)函數(shù)實(shí)現(xiàn),第一個(gè) creat_filepath 函數(shù)生成圖片下載文件路徑,第二個(gè) save_avatar 函數(shù)循環(huán)獲取微信好友頭像然后保存到本地,第三個(gè) joint_avatar 函數(shù)就是把頭像拼接成一張大圖。

完整代碼如下:

 
 
 
 
  1. # -*- coding: utf-8 -*-
  2.  from wxpy import *
  3.  import math
  4.  from PIL import Image
  5.  import os
  6.  
  7.  # 創(chuàng)建頭像存放文件夾
  8.  def creat_filepath():
  9.      avatar_dir = os.getcwd() + "\\wechat\\"
  10.     if not os.path.exists(avatar_dir):
  11.         os.mkdir(avatar_dir)
  12.     return avatar_dir
  13. # 保存好友頭像
  14. def save_avatar(avatar_dir):
  15.     # 初始化機(jī)器人,掃碼登陸
  16.     bot = Bot()
  17.     friends = bot.friends(update=True)
  18.     num = 0
  19.     for friend in friends:
  20.         friend.get_avatar(avatar_dir + '\\' + str(num) + ".jpg")
  21.         print('好友昵稱(chēng):%s' % friend.nick_name)
  22.         num = num + 1
  23. # 拼接頭像
  24. def joint_avatar(path):
  25.     # 獲取文件夾內(nèi)頭像個(gè)數(shù)
  26.     length = len(os.listdir(path))
  27.     # 設(shè)置畫(huà)布大小
  28.     image_size = 2560
  29.     # 設(shè)置每個(gè)頭像大小
  30.     each_size = math.ceil(2560 / math.floor(math.sqrt(length)))
  31.     # 計(jì)算所需各行列的頭像數(shù)量
  32.     x_lines = math.ceil(math.sqrt(length))
  33.     y_lines = math.ceil(math.sqrt(length))
  34.     image = Image.new('RGB', (each_size * x_lines, each_size * y_lines))
  35.     x = 0
  36.     y = 0
  37.     for (root, dirs, files) in os.walk(path):
  38.         for pic_name in files:
  39.             # 增加頭像讀取不出來(lái)的異常處理
  40.                 try:
  41.                     with Image.open(path + pic_name) as img:
  42.                         img = img.resize((each_size, each_size))
  43.                         image.paste(img, (x * each_size, y * each_size))
  44.                         x += 1
  45.                         if x == x_lines:
  46.                             x = 0
  47.                             y += 1
  48.                 except IOError:
  49.                     print("頭像讀取失敗")
  50.     img = image.save(os.getcwd() + "/wechat.png")
  51.     print('微信好友頭像拼接完成!')
  52. if __name__ == '__main__':
  53.     avatar_dir = creat_filepath()
  54.     save_avatar(avatar_dir)
  55.     joint_avatar(avatar_dir)

可以直接在運(yùn)行程序文件,也可以用 Pyinstaller 文件打包后運(yùn)行。這里額外說(shuō)一下 pyinstaller 打包的方法和閉坑指南。

不要直接在系統(tǒng)中用 pyinstaller 打包,否則打包出來(lái)的 exe 文件會(huì)很大。建議在虛擬環(huán)境中打包,打包出來(lái)的 exe 文件會(huì)小很多, 10MB 左右。

虛擬環(huán)境創(chuàng)建很簡(jiǎn)單,簡(jiǎn)單說(shuō)一下步驟:

1 安裝 pipenv 和 pyinstaller 包,用于后續(xù)創(chuàng)建虛擬環(huán)境和打包程序:

 
 
 
 
  1. pip install pipenv
  2. pip install pyinstaller # 已安裝就不用安裝了

2 選擇一個(gè)合適的目錄作為 Python 虛擬環(huán)境,運(yùn)行:

 
 
 
 
  1. pipenv install # 創(chuàng)建虛擬環(huán)境
  2. pipenv shell # 創(chuàng)建好后,進(jìn)入虛擬環(huán)境

3 安裝程序引用的庫(kù),上面程序引用了四個(gè)庫(kù):wxpy、math、os 和 PIL,一行代碼就可以完成安裝。

 
 
 
 
  1. pipenv install wxpy math os

4 這里要額外注意 PIL 的安裝,現(xiàn)在不用 PIL 庫(kù),而是用 Pillow 庫(kù)取代,所以安裝 Pillow 庫(kù)就行。但不要安裝最新的 6.0.0 版本,否則可能會(huì)遇到各種錯(cuò)誤,例如:PIL 無(wú)法識(shí)別下載的 jpg 頭像文件。

 
 
 
 
  1. OSError: cannot identify image file 

正確的安裝方法是安裝低版本,經(jīng)嘗試安裝 4.2.1 版本沒(méi)有問(wèn)題,安裝命令:

 
 
 
 
  1. pipenv install Pillow==4.2.1

5 然后打包程序就可以了:

 
 
 
 
  1. pyinstaller -F C:\Users\sony\Desktop\wechat_avatar.py 
  2. # 程序路徑要改成你電腦上的路徑
  3. # -F 表示生成單個(gè) exe 文件,方便運(yùn)行

運(yùn)行如下:

運(yùn)行命令,1 分鐘左右若顯示 successfully 字樣表示程序打包成功:

接著在程序目錄下找到 wechat_avatar.exe 文件,然后按照第一種方法那樣運(yùn)行就行了。以上就是用 Python 制作微信好友圖片墻的裝逼指南。


文章標(biāo)題:炫技!一鍵拼出你的微信好友圖片墻
瀏覽路徑:http://m.5511xx.com/article/djiceec.html