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文件默认路径一致

  • 相关阅读:
    将查询语句创建新表
    java冒泡排序
    java三元运算符
    java中的>>>和>>>=
    i++和++i
    设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
    System.out.println与System.err.println的区别
    try-catch-finally
    Java常见异常类
    Vue.js环境配置
  • 原文地址:https://www.cnblogs.com/wumaiqiti1020/p/10980321.html
Copyright © 2011-2022 走看看