配置环境
python3
所需模块: itchat \ codecs \ json \ pyecharts \ collections \ jieba
主题思路
通过itchat登陆微信网页版,然后获取好友的昵称、省份、签名等等,然后利用重新封装的百度开源的echarts的python版pyecharts进行可视化分析,主要有四种方式:柱状图、饼图、地图、词云。代码逻辑并不难,非常简单,细节需要注意,比如各种接口所需要的数据类型不同,需要进行转变。通过这次写代码,我发现官方文档真的好用,无需记忆,随用随查罢了。
pyecharts官方文档
itchat官方文档
以上两个是这次主要用到的两个库
代码(当然是具有优美注释的啦)
import itchat
import codecs
import json
from pyecharts import Bar,Pie,Map,WordCloud
# 容器类
from collections import Counter
import jieba.analyse
# 数据存储方法,为了防止编码不统一的情况,使用codecs来进行打开
def saveFriends(friendsList):
outputFile = './result/friends.json'
with codecs.open(outputFile,'w',encoding='utf-8') as jsonFile:
# 默认使用ascii,为了输出中文将参数ensure_ascii设置成False
jsonFile.write(json.dumps(friendsList,ensure_ascii=False))
def getFriends(inputFile):
with codecs.open(inputFile,encoding='utf-8') as f:
friendsList = json.load(f)
return friendsList
# 绘制柱状图