欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python itchat實(shí)現(xiàn)微信好友頭像拼接圖的示例代碼

 更新時(shí)間:2017年08月14日 10:25:40   作者:聽城  
本篇文章主要介紹了itchat實(shí)現(xiàn)微信好友頭像拼接圖的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下

偶然在網(wǎng)上發(fā)現(xiàn)itchat這個(gè)框架,itchat是一個(gè)開源的微信個(gè)人號(hào)接口,它使python調(diào)用微信變得非常簡(jiǎn)單??吹骄W(wǎng)上有人發(fā)自己微信好友的頭像拼接圖,自己也做了一個(gè),感覺還蠻好玩的。

效果圖

下面介紹實(shí)現(xiàn)過程:

安裝itchat

這個(gè)當(dāng)然還是使用豆瓣源了,速度杠杠的pip install -i https://pypi.douban.com/simple/ itchat

項(xiàng)目依賴

頭像拼接用到了pillow這個(gè)第三方庫,和itchat一樣的安裝方法

代碼

首先調(diào)用接口登錄,然后可以獲取到好友信息,其中第一個(gè)為自己的信息。返回的信息為一個(gè)列表,里面內(nèi)容可以復(fù)制出來通過json工具格式化,查看返回的字段。然后再次調(diào)用接口下載圖片,用pillow拼接即可。

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

#給auto_login方法傳入值為真的hotReload.即使程序關(guān)閉,一定時(shí)間內(nèi)重新開啟也可以不用重新掃碼
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)

#下載所有好友的頭像圖片
num = 0
for i in friends:
 img = itchat.get_head_img(i["UserName"])
 with open('./headImg/' + str(num) + ".jpg",'wb') as f:
  f.write(img)
  f.close()
  num += 1
#獲取文件夾內(nèi)的文件個(gè)數(shù)
length = len(os.listdir('./headImg'))
#根據(jù)總面積求每一個(gè)的大小
each_size = int(math.sqrt(float(810*810)/length))
#每一行可以放多少個(gè)
lines = int(810/each_size)
#生成白色背景新圖片
image = Image.new('RGBA', (810, 810),'white')
x = 0
y = 0
for i in range(0,length):
 try:
  img = Image.open('./headImg/' + str(i) + ".jpg")
 except IOError:
  print(i)
  print("Error")
 else:
  img = img.resize((each_size, each_size), Image.ANTIALIAS) #resize image with high-quality
  image.paste(img, (x * each_size, y * each_size))
  x += 1
  if x == lines:
   x = 0
   y += 1
image.save('./headImg/' + "all.jpg")
#通過文件傳輸助手發(fā)送到自己微信中
itchat.send_image('./headImg/' + "all.jpg",'filehelper')
image.show()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python sys.stdin和sys.stdout的用法說明

    python sys.stdin和sys.stdout的用法說明

    這篇文章主要介紹了python sys.stdin和sys.stdout的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python3中使用PyMongo的方法詳解

    Python3中使用PyMongo的方法詳解

    平常在處理數(shù)據(jù)的時(shí)候,必不可少地要使用數(shù)據(jù)庫存取數(shù)據(jù),出于一些原因,個(gè)人非常喜歡MongoDB這個(gè)數(shù)據(jù)庫。下面這篇文章主要給大家介紹了Python3中使用PyMongo的方法示例,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • python sklearn中tsne算法降維結(jié)果不一致問題的解決方法

    python sklearn中tsne算法降維結(jié)果不一致問題的解決方法

    最近在做一個(gè)文本聚類的分析,在對(duì)文本數(shù)據(jù)embedding后,想著看下數(shù)據(jù)的分布,于是用sklearn的TSNE算法來降維embedding后的數(shù)據(jù)結(jié)果,當(dāng)在多次執(zhí)行后,竟發(fā)現(xiàn)TSNE的結(jié)果竟然變了,而且每次都不一樣,所以本文就給大家講講如何解決sklearn中tsne算法降維結(jié)果不一致的問題
    2023-10-10
  • Python isinstance函數(shù)介紹

    Python isinstance函數(shù)介紹

    這篇文章主要介紹了Python isinstance函數(shù)介紹,本文用實(shí)例講解了判斷變量是否是某個(gè)指定類型,需要的朋友可以參考下
    2015-04-04
  • Python 非極大值抑制(NMS)的四種實(shí)現(xiàn)詳解

    Python 非極大值抑制(NMS)的四種實(shí)現(xiàn)詳解

    本文主要介紹了非極大值抑制(Non-Maximum Suppression,NMS)的四種實(shí)現(xiàn)方式,不同方法對(duì)NMS速度的影響各不相同,感興趣的小伙伴可以了解一下
    2021-11-11
  • C#返回當(dāng)前系統(tǒng)所有可用驅(qū)動(dòng)器符號(hào)的方法

    C#返回當(dāng)前系統(tǒng)所有可用驅(qū)動(dòng)器符號(hào)的方法

    這篇文章主要介紹了C#返回當(dāng)前系統(tǒng)所有可用驅(qū)動(dòng)器符號(hào)的方法,涉及C#操作系統(tǒng)硬件驅(qū)動(dòng)的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • python調(diào)用shell的方法

    python調(diào)用shell的方法

    這篇文章主要介紹了python調(diào)用shell的方法,python調(diào)用shell命令的方法有許多種,大家可以參考使用
    2013-11-11
  • 基于pytorch的lstm參數(shù)使用詳解

    基于pytorch的lstm參數(shù)使用詳解

    今天小編就為大家分享一篇基于pytorch的lstm參數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python函數(shù)傳參意義示例詳解

    python函數(shù)傳參意義示例詳解

    這篇文章主要為大家介紹了關(guān)于python函數(shù)傳參的意義示例詳解,有需要的朋友可以借鑒參考下,希望可以加深各位同學(xué)對(duì)Python傳參的理解
    2021-10-10
  • Python序列化模塊之pickle與json詳解

    Python序列化模塊之pickle與json詳解

    這篇文章主要為大家介紹了Python中常用的兩個(gè)序列化模塊:pickle序列化和json序列化。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-05-05

最新評(píng)論