python探索微信朋友信息

释放双眼,带上耳机,听听看~!

 一、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探索微信朋友信息

  说实话,这里面的男生绝对大部分是在大学认识的,毕竟理工科学校可不是闹着玩儿的;还有这 6.58% 不明性别的人不知道怎么设置的,为什么我没办法不设置,还是说......

        python探索微信朋友信息

  作为一个在东莞上学的广东汕头人,这样的分布确实是在意料之中。毕竟汕头是我生活了那么久的地方,在东莞也快度过三个年头了,不知不觉要大四了,最近的压力已经逐渐增加了,无力吐槽。

 

  这只是玩玩而已,如果你有什么脑洞或者想要挖掘更多个人好友信息,可以使用 itchat 接着玩。

 

给TA打赏
共{{data.count}}人
人已打赏
随笔日记

Kubernetes调度之亲和与反亲和

2020-11-9 5:24:20

随笔日记

ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程,ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理

2020-11-9 5:24:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索