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

 更新时间:2019年02月21日 12:12:44   作者:袁杰丶  
今天小编就为大家分享一篇使用python itchat包爬取微信好友头像形成矩形头像集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

初学python,我们必须干点有意思的事!从微信下手吧!

头像集样例如下:

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

大家可以发朋友圈开启辨认大赛哈哈~

话不多说,直接上代码,注释我写了比较多,大家应该能看懂

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列表集,内含很多信息

user = friends[0]["UserName"]

w = open(user+"_friends",'a',encoding='utf-8',errors='ignore') # 将friends列表存下来,看看内容
for i in friends:
  w.write(str(i))

print("授权微信用户为:"+user)

os.mkdir(user) # 创建文件夹用于装载所有好友头像

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("所有好友头像数:"+ str(numPic))

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

print("小正方形头像边长:"+ str(eachsize))


numrow = int(640 / eachsize)
print("一行小头像数:"+ str(numrow))

if mode == "0":
  numcol = int(math.ceil(numPic * 1.0 / numrow))  # 向上取整
else:
  numcol = int(numPic / numrow)  # 向下取整
  print("舍弃好友数:"+ str(numPic - numrow * numcol))

toImage = Image.new('RGB', (eachsize*numrow, eachsize*numcol)) # 先生成头像集模板


x = 0  # 小头像拼接时的左上角横坐标
y = 0  # 小头像拼接时的左上角纵坐标


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')  # 自动向文件助手里面添加图片,不需要可以关闭

运行结果:

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

ok!!!

以上这篇使用python itchat包爬取微信好友头像形成矩形头像集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python绘制散点图和折线图的方法

    python绘制散点图和折线图的方法

    这篇文章主要为大家详细介绍了python绘制散点图和折线图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • python实现防截图的6种方法详解

    python实现防截图的6种方法详解

    防截图是指一组技术或方法,用于防止他人在未经允许的情况下在屏幕上截取或记录图像,这是一个重要的安全措施,它可以防止窃取敏感信息或监视个人信息,本文为大家整理了6种python可以防截图的方法,需要的可以参考下
    2023-10-10
  • 利用python实现词频统计分析的代码示例

    利用python实现词频统计分析的代码示例

    词频统计是指在文本或语音数据中,统计每个单词或符号出现的次数,以便对文本或语音数据进,这篇文章将详细介绍分词后如何进行词频统计分析
    2023-06-06
  • python 利用panda 实现列联表(交叉表)

    python 利用panda 实现列联表(交叉表)

    这篇文章主要介绍了python 利用panda 实现列联表(交叉表),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 修改默认的pip版本为对应python2.7的方法

    修改默认的pip版本为对应python2.7的方法

    今天小编就为大家分享一篇修改默认的pip版本为对应python2.7的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)

    python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)

    Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。下面这篇文章主要给大家介绍了python爬虫之HTML文本的解析库BeautifulSoup的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • pycharm 2021.3最新激活码有效期至2100年(亲测可用)

    pycharm 2021.3最新激活码有效期至2100年(亲测可用)

    这篇文章主要介绍了pycharm 2021.3最新激活码有效期至2100年(亲测可用)
    2021-02-02
  • python爬不同图片分别保存在不同文件夹中的实现

    python爬不同图片分别保存在不同文件夹中的实现

    这篇文章主要介绍了python爬不同图片分别保存在不同文件夹中的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python使用itcaht库实现微信自动收发消息功能

    Python使用itcaht库实现微信自动收发消息功能

    这篇文章主要介绍了Python使用itcaht库实现微信自动收发消息功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 基于pytorch实现对图片进行数据增强

    基于pytorch实现对图片进行数据增强

    图像数据增强是一种在训练机器学习和深度学习模型时常用的策略,尤其是在计算机视觉领域,具体而言,它通过创建和原始图像稍有不同的新图像来扩大训练集,本文给大家介绍了如何基于pytorch实现对图片进行数据增强,需要的朋友可以参考下
    2024-01-01

最新评论