码迷,mamicode.com
首页 > 微信 > 详细

第一个微信项目

时间:2019-06-06 00:29:16      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:att   data   int   label   panda   toe   就是   表格   ace   

今天给各位看官接介绍的是如何利用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(rwx1place.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(rwxpr.html)
print(1)

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

技术图片

这个是获取的表格信息

下图是生成的词云图

技术图片

最后是生成的地图

技术图片

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

 

第一个微信项目

标签:att   data   int   label   panda   toe   就是   表格   ace   

原文地址:https://www.cnblogs.com/wumaiqiti1020/p/10980321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!