itchat和matplotlib的结合使用爬取微信信息的实例

yizhihongxing
  1. 爬取微信好友头像

首先,需安装 Itchat 和 Matplotlib 库。接着,在 Itchat 库中使用 get_head_img 方法来获取头像二进制图片,然后使用 Matplotlib 库将图片进行展示。

import itchat
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

# 登录微信账号
itchat.auto_login(hotReload=True)

# 获取好友头像
friends = itchat.get_friends(update=True)
imgList = []
for friend in friends:
    img = itchat.get_head_img(userName=friend['UserName'])
    imgList.append(img)

# 将头像图片展示出来
for i, img in enumerate(imgList):
    # 将二进制图片转为 numpy 数组
    imgArr = np.frombuffer(img, dtype=np.uint8)
    imgArray = np.reshape(imgArr, newshape=(96, 96, 3))
    imgArray = np.rot90(imgArray, -1)
    # 展示图片
    plt.subplot(5, 8, i+1)
    plt.imshow(imgArray)
    plt.axis('off')
plt.show()
  1. 统计好友性别分布

利用 Itchat 库获取好友信息,然后使用 Matplotlib 库将性别分布进行饼状图展示。

import itchat
import matplotlib.pyplot as plt

# 登录微信账号
itchat.auto_login(hotReload=True)

# 获取好友信息
friends = itchat.get_friends(update=True)

# 统计性别分布
sexDict = {'unknown': 0, 'male': 0, 'female': 0}
for friend in friends[1:]:
    sex = friend['Sex']
    if sex == 0:
        sexDict['unknown'] += 1
    elif sex == 1:
        sexDict['male'] += 1
    elif sex == 2:
        sexDict['female'] += 1

# 将性别分布进行饼状图展示
labels = ['unknown', 'male', 'female']
sizes = [sexDict[label] for label in labels]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.axis('equal')
plt.show()

以上这两个示例均使用了 Itchat 和 Matplotlib 库,利用 Itchat 库进行微信信息的爬取,用 Matplotlib 库展示获取到的数据,可以起到很好的数据分析的作用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:itchat和matplotlib的结合使用爬取微信信息的实例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Python字符串处理的8招秘籍(小结)

    下面是“Python字符串处理的8招秘籍(小结)”的完整攻略。 1. 字符串长度 字符串长度可以使用len()函数进行计算。例如,以下代码可以获取字符串str的长度: str = "Hello World" s_len = len(str) print(s_len) # 输出 11 2. 字符串拼接 可以使用加号(+)进行字符串拼接。以下…

    python 2023年6月5日
    00
  • Python数据可视化:泊松分布详解

    Python数据可视化:泊松分布详解 本篇文章将详细介绍如何使用 Python 进行泊松分布的可视化。泊松分布是描述事件在一段时间内发生次数的概率分布,适用于描述一天内发生人数、交通事故数量等场景。我们将使用 Python 的 Matplotlib 和 NumPy 库来绘制泊松分布图表。 原理 泊松分布是一种离散分布,它的参数 λ 表示了在一个固定时间段(或…

    python 2023年5月18日
    00
  • Python用zip函数同时遍历多个迭代器示例详解

    下面是“Python用zip函数同时遍历多个迭代器示例详解”的完整攻略。 标题 简介 在开发Python项目时,常常需要同时遍历多个列表、元组、集合等数据结构,这时就可以利用Python内置函数zip()来实现。 函数说明 函数名:zip()函数功能:将多个可迭代对象中的元素配对组成元组。返回值:一个迭代器,生成由输入的迭代器共有的元素所构成的元组序列。使用…

    python 2023年6月3日
    00
  • python爬虫中PhantomJS加载页面的实例方法

    本攻略将介绍如何在Python爬虫中使用PhantomJS加载页面。PhantomJS是一个无界面的浏览器,可以模拟用户在浏览器中的操作,如点击、滚动、输入等。我们将使用selenium库和PhantomJS驱动程序来实现这一功能。我们将提供两个示例代码,分别用于加载单个页面和多个页面。 安装所需库 在开始前,我们需要安装selenium库和PhantomJ…

    python 2023年5月15日
    00
  • 用python实现学生管理系统

    下面我将为你详细讲解用Python实现学生管理系统的攻略。 学生管理系统的实现 需求分析 在开始编写代码之前,我们需要对需求进行分析,了解系统所需要实现的功能及其所需要的数据。 一个学生管理系统一般需要包括以下功能: 添加学生信息 展示学生信息 修改学生信息 删除学生信息 在本次实现中,我们将使用Python实现其中的三个功能:添加学生信息,展示学生信息以及…

    python 2023年5月30日
    00
  • Python定义函数功能与用法实例详解

    Python定义函数功能与用法实例详解 简介 在Python中,函数是一组可重用的代码,用于执行特定的任务。通过定义函数,我们可以将大型代码拆分成具有明确功能的较小块,使代码更加模块化、可读性更高、可维护性更强。 定义函数时需要提供一些信息,例如名称、参数和代码块,使其能够被使用。在Python中,定义函数的语法如下: def function_name(p…

    python 2023年5月13日
    00
  • python 列表,数组和矩阵sum的用法及区别介绍

    Python列表、数组和矩阵sum的用法及区别介绍 Python是一种高级编程语言,广泛应用于数据分析、科学计算、机器学习等领域。在这些应用场景下,常常需要用到列表、数组和矩阵。 列表 列表是Python中最基础的数据类型之一,是一种有序集合。列表中的元素可以是任何类型,包括数字、字符串、布尔值等等。在Python中,列表可以通过方括号来定义,各个元素之间用…

    python 2023年6月5日
    00
  • python基础教程之数字处理(math)模块详解

    Python 基础教程之数字处理(math)模块详解 介绍 math 模块为 Python 提供了常用的数学函数和常数。该模块涵盖了诸如三角函数、指数函数、对数函数、幂函数等常用函数,以及常用的数学常数。 模块导入 math 模块是 Python 自带的标准库,可以直接导入使用。 import math 常用函数 下面列举了 math 模块中一些常用的函数及…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部