• python 探索微信朋友信息


      

    1、安装插件

    一、itchat
    itchat是一个开源的微信个人号接口,这一次就用它来来玩玩。

    在使用之前,先下载,老规矩通过 pip install itchat 即可安装。

    想要获取朋友圈信息,只需要几行代码就可以获取。为减少登录次数,将获取到的信息保存到 json 文件中即可。

    itchat.login() # 通过二维码连接登录账号
    friend_msg = itchat.get_friends(update=True)[0:] # 获取微信好友信息

    # 将微信好友信息保存起来,减少登录的次数
    with open('./friend_message.json', 'w', encoding='utf-8') as file:
      json.dump(friend_msg, file, ensure_ascii=False)

    file.close()
    二、读取文件获取信息
    我们只需要关注里面其中的主要信息,按照需求获取。由于只是玩玩而已,就只单单获取性别和城市信息。

    先获取性别信息

    def get_gender(message):
      sex_dic = {}
      sex_list = []

    for i in range(1, len(message)):
      sex = message[i]['Sex']
      if sex == 1:
        sex_dic['Male'] = sex_dic.get('Male', 0) + 1
        sex_list.append("男")
      elif sex == 2:
        sex_dic['Female'] = sex_dic.get('Female', 0) + 1
        sex_list.append("女")
      else:
        sex_dic['Unknown'] = sex_dic.get('Unknown', 0) + 1
        sex_list.append("Unknown")

      return sex_dic, sex_list
    再获取城市信息

    def get_city(message):
      city_list = []

      for i in range(1, len(message)):
        city = message[i]['City']
        if city == '':
          city_list.append(None)
        else:
          city_list.append(city)

      return city_list
    三、可视化
    将性别绘制成饼状图,城市分布绘制成柱状图。具体绘制的代码就不上了,详情请前往 GitHub

    with open("./friend_message.json", 'r', encoding='utf-8') as file:
      f_msg = json.load(file)
    file.close()

    sex_dic, sex_list = getData.get_gender(f_msg)
    city_list = getData.get_city(f_msg)
    # 将三个属性组成 DataFrame
    data = pd.DataFrame({'gender': sex_list, 'city': city_list})
    # 获取城市前十的数量
    city_dict = data['city'].value_counts()[:15].to_dict()
    # 绘制性别环状图
    draw_pie(sex_dic)
    # 绘制城市柱状图
    draw_bar(city_dict)
    ---------------------
    作者:python学习圈
    来源:CSDN
    原文:https://blog.csdn.net/zhoulei124/article/details/92081120
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试
    JVM、垃圾回收、内存调优、常见參数
    相关系数图可视化
    Codeforces 558(C、D、E)总结
    [Windows 64] (搬运)价值¥ 6,499的软件Navicat Premium11.2.11 最新版及其注册机
    ORA-12737: Instant Client Light: unsupported server character set CHS16GBK/ZHS16GBK解决方案
    计蒜客练习
    站在巨著之上谈泛型(转载)
    java util包概述
    Calender的使用详解
  • 原文地址:https://www.cnblogs.com/bzdmz/p/11042494.html
Copyright © 2020-2023  润新知