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

使用python itchat包爬取微信好友頭像形成矩形頭像集的方法

 更新時間:2019年02月21日 12:12:44   作者:袁杰丶  
今天小編就為大家分享一篇使用python itchat包爬取微信好友頭像形成矩形頭像集的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

初學(xué)python,我們必須干點(diǎn)有意思的事!從微信下手吧!

頭像集樣例如下:

python itchat包爬取微信好友頭像形成矩形頭像集

大家可以發(fā)朋友圈開啟辨認(rèn)大賽哈哈~

話不多說,直接上代碼,注釋我寫了比較多,大家應(yīng)該能看懂

import itchat
import os
import PIL.Image as Image
from os import listdir
import math
import sys

print("請輸入查詢模式:0-顯示所有好友頭像,但最終矩形頭像集最后一行可能殘缺;1-頭像集為完整矩形,但好友可能不全,即在0模式下舍棄最后一行")
mode = input()
if mode not in ("0","1"):
  print("請按照正確格式輸入!")
  sys.exit(0)


# itchat.auto_login(enableCmdQR=True) # 這種登錄時控制臺生成登錄二維碼
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列表存下來,看看內(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目錄下的所有文件,即各個好友頭像

numPic = len(pics)

print("所有好友頭像數(shù):"+ str(numPic))

eachsize = int(math.sqrt(float(640 * 640) / numPic))  # 先圈定每個正方形小頭像的邊長,如果嫌小可以加大

print("小正方形頭像邊長:"+ 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  # 小頭像拼接時的左上角橫坐標(biāo)
y = 0  # 小頭像拼接時的左上角縱坐標(biāo)


for i in pics:
  try:
    #打開圖片
    img = Image.open(user + "/" + i)
  except IOError:
    print("Error: 沒有找到文件或讀取文件失敗")
  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')  # 自動向文件助手里面添加圖片,不需要可以關(guān)閉

運(yùn)行結(jié)果:

python itchat包爬取微信好友頭像形成矩形頭像集

ok!??!

以上這篇使用python itchat包爬取微信好友頭像形成矩形頭像集的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python函數(shù)缺省值與引用學(xué)習(xí)筆記分享

    python函數(shù)缺省值與引用學(xué)習(xí)筆記分享

    有關(guān)一個在函數(shù)參數(shù)設(shè)置缺省值與引用的問題,這個問題是大多數(shù)Pythoner可能會忽視的問題,作個筆記,以備后閱,同時供需要的朋友參考
    2013-02-02
  • matplotlib 曲線圖 和 折線圖 plt.plot()實(shí)例

    matplotlib 曲線圖 和 折線圖 plt.plot()實(shí)例

    這篇文章主要介紹了matplotlib 曲線圖 和 折線圖 plt.plot()實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python監(jiān)控進(jìn)程腳本

    python監(jiān)控進(jìn)程腳本

    這篇文章主要為大家詳細(xì)介紹了python監(jiān)控進(jìn)程腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python爬豆瓣電影實(shí)例

    Python爬豆瓣電影實(shí)例

    本篇文章給大家通過Python爬豆瓣電影實(shí)例對Python爬蟲更深入的講解,有興趣的學(xué)習(xí)下。
    2018-02-02
  • 基于Keras的擴(kuò)展性使用

    基于Keras的擴(kuò)展性使用

    這篇文章主要介紹了Keras的擴(kuò)展性使用操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python實(shí)現(xiàn)人機(jī)五子棋

    python實(shí)現(xiàn)人機(jī)五子棋

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人機(jī)五子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 一文詳述 Python 中的 property 語法

    一文詳述 Python 中的 property 語法

    這篇文章主要介紹了一文詳述 Python 中的 property 語法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • python進(jìn)度條顯示之tqmd模塊

    python進(jìn)度條顯示之tqmd模塊

    這篇文章主要介紹了python進(jìn)度條顯示之tqmd模塊,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 利用 Python ElementTree 生成 xml的實(shí)例

    利用 Python ElementTree 生成 xml的實(shí)例

    這篇文章主要介紹了利用 Python ElementTree 生成 xml的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件

    利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件

    這篇文章主要給大家介紹了關(guān)于利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05

最新評論