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

    今天给各位看官接介绍的是如何利用Python实现统计微信好友数目,省排布

    首先要介绍的是我们要用到的几个库以及安装这些库的指令

    安装 wxpy: pip install wxpy
    安装 PIL: pip install pillow
    安装 pyecharts:pip install pyecharts
    安装 Itchat: pip install itchat
    安装 Jieba: pip install jieba
    安装 Pandas:pip install Pandas
    安装 Numpy:pip install Numpy
    安装地图数据包:pip install echarts-china-provinces-pypkg
    pip install echarts-countries-pypkg
     
    接下来就是有关这次实践的代码了
    下面这段代码的功能是模拟网页版微信获取用户的登录消息
    from wxpy import *
    import pandas as pd
    
    #初始化机器人,选择缓存模式(扫码)登录
    bot = Bot(cache_path=True)
    #获取我的所有微信好友信息

    接下来的代码就是将用户的好友的微信名,性别,城市,省份以及个性签名作为内容保存到一个Excel表格中

    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('wx1.xlsx',encoding='U0001f31a')
        print(1)

    再接着的代码是构建一个有关用户的所在城市的词云

    toex(lis)
    import pandas as pd
    from pyecharts import WordCloud 
    df=pd.read_excel('wx1.xlsx')
    city_list = df['城市'].fillna('').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'wx1place.html')
    print(1)

    最后的是将用户的好友所在城市的标记在中国地图上并以地图的形式展示出来

     
    import pandas as pd
    from pyecharts import Map 
    df=pd.read_excel('wx1.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)

    最后各位看官展示最后的结果吧

    这个是获取的表格信息

    下图是生成的词云图

    最后是生成的地图

    p.s.词云图和地图以及表格的默认存放路径与py文件默认路径一致

  • 相关阅读:
    第二次结对编程作业
    5 线性回归算法
    4 K均值算法--应用
    3 K均值算法
    2 机器学习相关数学基础
    1 机器学习概述
    15. 语法制导的语义翻译
    14.算符优先分析
    13.自下而上语法分析
    12.实验二 递归下降语法分析
  • 原文地址:https://www.cnblogs.com/wumaiqiti1020/p/10980321.html
Copyright © 2011-2022 走看看