基于Python的微信朋友圈数据可视化分析之个性签名
需求
利用 Python 爬取微信朋友圈的个性签名,通过生成词云的方式对朋友圈的关键词进行可视化的分析。
思路
经过调研发现,通过 itchat
这个第三方的包,再结合人工扫码授权的方式可以直接调用微信的接口,从而获取到朋友圈的所有信息。
依赖包
直接在 Python 环境下运行源代码,提示缺啥就补啥呗
安装包的命令
pip install 包名
itchat 中微信好友信息常见字段分析
通过 itchat
获取到的微信好友信息的格式是 dict
字典格式,其中的含义在官方文档中也没有详细地说明,此处记录一些常见的含义如下:
"Uin": 0,
"UserName": 用户名称,一个"@"为好友,两个"@"为群组
"NickName": 昵称
"HeadImgUrl":头像图片链接地址
"ContactFlag": 1-好友,2-群组,3-公众号
"MemberCount": 成员数量,只有在群组信息中才有效,
"MemberList": 成员列表,
"RemarkName": 备注名称
"HideInputBarFlag": 0,
"Sex": 性别,0-未设置(公众号、保密),1-男,2-女
"Signature": 公众号的功能介绍 or 好友的个性签名
"VerifyFlag": 0,
"OwnerUin": 0,
"PYInitial": 用户名拼音缩写
"PYQuanPin": 用户名拼音全拼
"RemarkPYInitial":备注拼音缩写
"RemarkPYQuanPin": 备注拼音全拼
"StarFriend": 是否为星标朋友 0-否 1-是
"AppAccountFlag": 0,
"Statues": 0,
"AttrStatus": 119911,
"Province": 省
"City": 市
"Alias":
"SnsFlag":
"UniFriend": 0,
"DisplayName": "",
"ChatRoomId": 0,
"KeyWord":
"EncryChatRoomId": ""
源代码
注意:运行的时候,需要准备好手机微信,扫码确定登录!
# coding:utf-8
import itchat
import re
import jieba # jieba分词
# wordcloud词云
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import os
import numpy as np
import PIL.Image as Image
import pandas as pditchat.login()
friends = itchat.get_friends(update=True)[0:]
# 将朋友列表的所有信息保存至本地文件中
# pd.DataFrame(friends).to_csv(u"wechat_friends_info.csv")
tList = []
for i in friends:signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")rep = re.compile("1f\d.+")signature = rep.sub("", signature)tList.append(signature)
# 拼接字符串
text = "".join(tList)wordlist_jieba = jieba.cut(text, cut_all=True)
wl_space_split = " ".join(wordlist_jieba)d= os.path.dirname(os.path.abspath( __file__ ))
alice_coloring = np.array(Image.open(os.path.join(d, "wechat.png"))) # 生成词云的基础图片
my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=alice_coloring,max_font_size=400, random_state=420,font_path='C:\Windows\Fonts\msyhl.ttc').generate(wl_space_split)
image_colors = ImageColorGenerator(alice_coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
“努力”的朋友圈
通过分析本人朋友圈的个性签名所得到的词云图最终如下图所示,不难看出,“努力”是我朋友圈的核心词,我为自己能拥有这么多优秀的朋友而感到开心,物以类聚,人以群分,我一定好好努力,向你们学习。
关于词云
可以参考我之前的一篇文章 《用QQ聊天记录生成一个词云》
参考文献
- python笔记:将字典存储为csv格式
- 利用Python爬取朋友圈数据,爬到你开始怀疑人生
- itchat 微信好友信息字段含义
基于Python的微信朋友圈数据可视化分析之个性签名相关推荐
- 基于Python的微信朋友圈数据可视化分析之地点
前提 朋友圈的相关数据请参照上一篇文章<基于Python的微信朋友圈数据可视化分析之个性签名>获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了. 将好友的地点按照省份进行 ...
- python朋友圈数据分析_基于Python的微信朋友圈数据可视化分析之地点
前提 朋友圈的相关数据请参照上一篇文章<基于Python的微信朋友圈数据可视化分析之个性签名>获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了. 将好友的地点按照省份进行 ...
- python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
- 【毕业设计_课程设计】基于Python的南京二手房数据采集及可视化分析
文章目录 0 项目说明 1 内容简介 2 应用技术介绍 3 数据采集 3.1 数据清洗 4 数据可视化 5 项目工程 0 项目说明 基于Python的南京二手房数据采集及可视化分析 提示:适合用于课程 ...
- 数据清洗python实现箱线图_GitHub - nonefirst/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
- python网页结构分析_GitHub - Vogdhsaj/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
- 【计算机专业毕设之基于python爬虫的汽车销量预测可视化分析系统-哔哩哔哩】 https://b23.tv/2gOjMVB
[计算机专业毕设之基于python爬虫的汽车销量预测可视化分析系统-哔哩哔哩] https://b23.tv/2gOjMVB https://b23.tv/2gOjMVB
- 基于Python的微信好友男女比例,区域排名,签名情感分析
项目源码下载地址:https://download.csdn.net/download/sheziqiong/85609539 wechat 微信好友男女比例,区域排名,签名情感分析 程序 备注 技术 ...
- 基于Python语言的PUBG游戏数据可视化分析系统
[success]写于2019年大作业[/success] 博客链接:https://www.iamzlt.com/?p=299 代码链接请到博客链接内查看. 摘要 随着网络技术的兴起和普及,网络游戏 ...
最新文章
- 终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
- 多级反馈队列列算法的优点
- Eclipse 输出的文本乱码
- 手游研发CJ抱大腿指南
- 5.1.4 IO软件层次结构
- python 属性描述符_Python属性描述符(二)
- 除夕年味年夜饭海报PSD素材,盛了一年的思念
- Ambari架构源码解析
- Mysql like ' ' 会不会用到索引
- html5实现直接下载文件
- 微信小程序搜索关键字高亮和ctrl+f搜索定位实现
- 基于文本数据的情感分析系统
- Swift中数组字典和plist文件的转换
- pandas学习task11综合任务
- NOIP2012 国王游戏(贪心)
- 需要获取trustedinstaller权限才能删除文件,删不了
- sentiment analysis
- windows下部署mysql5.7.21免安装版并设置开机自启动
- 手把手教写拖拽布局插件(拖拽功能篇)
- ubuntu 设置打开文件的默认方式
热门文章
- 已解决TypeError: Descriptors cannot not be created directly.
- 如何提升网站关键词排名
- 南方cass字体样式设置_为什么装了CASS所有字体,还是有文字显示问号?
- 《团队-团队编程项目作业名称-成员简介及分工》
- Material Design 之Style(三)
- 浏览器使用华视电子设备读取身份证信息
- 计算机无法保存其他共享用户,Win7共享打印机出现 无法保存打印机设置 操作无法完成 错误0x000006d9解决方法...
- python_matplot_图片批量保存
- Tiled的qbs方式编译记录
- 商业模式分析——3W2H分析法