zoukankan      html  css  js  c++  java
  • 第一个微信小项目

    使用 python 进行微信好友分析

    1. 使用到的库

    ① wxpy:初始化微信机器人

    ② openpyxl:保存微信好友数据为Excel表格

    ③ pyecharts:生成可视化的地图

    ④ wordcloud、matplotlib、jieba:生成词云图

    特别提醒】:pyecharts 库用的是0.5.x版本,而在 pip 中安装的为1.x.x版本,因此需要自行到【官网】中下载。

    2. 基本功能

    ① 分析微信好友数据

    ② 生成词云图

    ③ 生成地图展示

    此处调用 Bot() 方法,需要扫码登陆微信网页版,后续操作才能进行。

    from wxpy import Bot
    import pandas as pd
    
    #初始化机器人,选择缓存模式(扫码)登录
    bot = Bot(cache_path=True)
    #获取我的所有微信好友信息
    friend_all = bot.friends()
    lis=[]
    for a_friend in friend_all:
        NickName = a_friend.raw.get('NickName',None)
        Sex ={1:"",2:"",0:"其它"}.get(a_friend.raw.get('Sex',None),None)
        City = a_friend.raw.get('City',None)
        Province = a_friend.raw.get('Province',None)
        Signature = a_friend.raw.get('Signature',None)
        list_0=[NickName,Sex,City,Province,Signature]
        lis.append(list_0)
    def toex(lis):
        text=pd.DataFrame(lis,columns=['微信名','性别','城市','省份','个性签名'])
        text.to_excel('wxl.xlsx',encoding='U0001f31a')
        print(1)
    toex(lis)

    然后出现二维码

    然后除了列出的还有 个性签名、头像其他属性。

    接下来是好友的各省分布

    import pandas as pd
    from pyecharts import Map 
    df=pd.read_excel('wxl.xlsx')
    pr_list = df['省份'].fillna('pr').tolist()
    count_pr = pd.value_counts(pr_list)
    attr =count_pr.index.tolist() 
    value = count_pr.tolist()
    maap=Map("各省微信好友分布", width=1200, height=600)
    maap.add("", attr, value, maptype='china', is_visualmap=True,visual_text_color='#000', is_label_show = True)
    maap.show_config()
    maap.render(r'wxpr.html')
    print(1)

    最后是好友的城市词云

    import pandas as pd
    from pyecharts import WordCloud 
    df=pd.read_excel('wx.xlsx')
    city_list = df['城市'].fillna('city').tolist()
    count_city = pd.value_counts(city_list)
    name = count_city.index.tolist()
    value = count_city.tolist()
    wordcloud=WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[20, 100])
    wordcloud.show_config()
    wordcloud.render(r'wxcity.html')
    print(1)

    完成了

  • 相关阅读:
    git 多人协作
    git 版本管理
    git 安装配置
    git 忽略文件
    git 分支管理
    linux文件管理 文件操作
    linux文件管理 文件搜索
    linux文件管理 文件权限
    linux系统管理 基本指令
    003.html
  • 原文地址:https://www.cnblogs.com/czd1/p/10980171.html
Copyright © 2011-2022 走看看