您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)如何使用python itchat包爬取微信好友頭像形成矩形頭像集,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
初學(xué)python,我們必須干點(diǎn)有意思的事!從微信下手吧!
頭像集樣例如下:
大家可以發(fā)朋友圈開啟辨認(rèn)大賽哈哈~
話不多說(shuō),直接上代碼,注釋我寫了比較多,大家應(yīng)該能看懂
import itchat import os import PIL.Image as Image from os import listdir import math import sys print("請(qǐng)輸入查詢模式:0-顯示所有好友頭像,但最終矩形頭像集最后一行可能殘缺;1-頭像集為完整矩形,但好友可能不全,即在0模式下舍棄最后一行") mode = input() if mode not in ("0","1"): print("請(qǐng)按照正確格式輸入!") sys.exit(0) # itchat.auto_login(enableCmdQR=True) # 這種登錄時(shí)控制臺(tái)生成登錄二維碼 itchat.login() # 這種登錄是生成二維碼圖片在本地目錄 friends = itchat.get_friends(update=True)[0:] # 核心:得到frieds列表集,內(nèi)含很多信息 user = friends[0]["UserName"] w = open(user+"_friends",'a',encoding='utf-8',errors='ignore') # 將friends列表存下來(lái),看看內(nèi)容 for i in friends: w.write(str(i)) print("授權(quán)微信用戶為:"+user) os.mkdir(user) # 創(chuàng)建文件夾用于裝載所有好友頭像 num = 0 for i in friends: img = itchat.get_head_img(userName=i["UserName"]) fileImage = open(user + "/" + str(num) + ".jpg",'wb') fileImage.write(img) fileImage.close() num += 1 pics = listdir(user) # 得到user目錄下的所有文件,即各個(gè)好友頭像 numPic = len(pics) print("所有好友頭像數(shù):"+ str(numPic)) eachsize = int(math.sqrt(float(640 * 640) / numPic)) # 先圈定每個(gè)正方形小頭像的邊長(zhǎng),如果嫌小可以加大 print("小正方形頭像邊長(zhǎng):"+ str(eachsize)) numrow = int(640 / eachsize) print("一行小頭像數(shù):"+ str(numrow)) if mode == "0": numcol = int(math.ceil(numPic * 1.0 / numrow)) # 向上取整 else: numcol = int(numPic / numrow) # 向下取整 print("舍棄好友數(shù):"+ str(numPic - numrow * numcol)) toImage = Image.new('RGB', (eachsize*numrow, eachsize*numcol)) # 先生成頭像集模板 x = 0 # 小頭像拼接時(shí)的左上角橫坐標(biāo) y = 0 # 小頭像拼接時(shí)的左上角縱坐標(biāo) for i in pics: try: #打開圖片 img = Image.open(user + "/" + i) except IOError: print("Error: 沒(méi)有找到文件或讀取文件失敗") else: #縮小圖片 img = img.resize((eachsize, eachsize), Image.ANTIALIAS) #拼接圖片 toImage.paste(img, (x * eachsize, y * eachsize)) x += 1 if x == numrow: x = 0 y += 1 toImage.save(user + ".jpg") # itchat.send_image(user + ".jpg", 'filehelper') # 自動(dòng)向文件助手里面添加圖片,不需要可以關(guān)閉
運(yùn)行結(jié)果:
ok!??!
關(guān)于“如何使用python itchat包爬取微信好友頭像形成矩形頭像集”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。