需求

利用 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的微信朋友圈数据可视化分析之个性签名相关推荐

  1. 基于Python的微信朋友圈数据可视化分析之地点

    前提 朋友圈的相关数据请参照上一篇文章<基于Python的微信朋友圈数据可视化分析之个性签名>获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了. 将好友的地点按照省份进行 ...

  2. python朋友圈数据分析_基于Python的微信朋友圈数据可视化分析之地点

    前提 朋友圈的相关数据请参照上一篇文章<基于Python的微信朋友圈数据可视化分析之个性签名>获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了. 将好友的地点按照省份进行 ...

  3. python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  4. 【毕业设计_课程设计】基于Python的南京二手房数据采集及可视化分析

    文章目录 0 项目说明 1 内容简介 2 应用技术介绍 3 数据采集 3.1 数据清洗 4 数据可视化 5 项目工程 0 项目说明 基于Python的南京二手房数据采集及可视化分析 提示:适合用于课程 ...

  5. 数据清洗python实现箱线图_GitHub - nonefirst/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  6. python网页结构分析_GitHub - Vogdhsaj/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  7. 【计算机专业毕设之基于python爬虫的汽车销量预测可视化分析系统-哔哩哔哩】 https://b23.tv/2gOjMVB

    [计算机专业毕设之基于python爬虫的汽车销量预测可视化分析系统-哔哩哔哩] https://b23.tv/2gOjMVB https://b23.tv/2gOjMVB

  8. 基于Python的微信好友男女比例,区域排名,签名情感分析

    项目源码下载地址:https://download.csdn.net/download/sheziqiong/85609539 wechat 微信好友男女比例,区域排名,签名情感分析 程序 备注 技术 ...

  9. 基于Python语言的PUBG游戏数据可视化分析系统

    [success]写于2019年大作业[/success] 博客链接:https://www.iamzlt.com/?p=299 代码链接请到博客链接内查看. 摘要 随着网络技术的兴起和普及,网络游戏 ...

最新文章

  1. 终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
  2. 多级反馈队列列算法的优点
  3. Eclipse 输出的文本乱码
  4. 手游研发CJ抱大腿指南
  5. 5.1.4 IO软件层次结构
  6. python 属性描述符_Python属性描述符(二)
  7. 除夕年味年夜饭海报PSD素材,盛了一年的思念
  8. Ambari架构源码解析
  9. Mysql like ' ' 会不会用到索引
  10. html5实现直接下载文件
  11. 微信小程序搜索关键字高亮和ctrl+f搜索定位实现
  12. 基于文本数据的情感分析系统
  13. Swift中数组字典和plist文件的转换
  14. pandas学习task11综合任务
  15. NOIP2012 国王游戏(贪心)
  16. 需要获取trustedinstaller权限才能删除文件,删不了
  17. sentiment analysis
  18. windows下部署mysql5.7.21免安装版并设置开机自启动
  19. 手把手教写拖拽布局插件(拖拽功能篇)
  20. ubuntu 设置打开文件的默认方式

热门文章

  1. 已解决TypeError: Descriptors cannot not be created directly.
  2. 如何提升网站关键词排名
  3. 南方cass字体样式设置_为什么装了CASS所有字体,还是有文字显示问号?
  4. 《团队-团队编程项目作业名称-成员简介及分工》
  5. Material Design 之Style(三)
  6. 浏览器使用华视电子设备读取身份证信息
  7. 计算机无法保存其他共享用户,Win7共享打印机出现 无法保存打印机设置 操作无法完成 错误0x000006d9解决方法...
  8. python_matplot_图片批量保存
  9. Tiled的qbs方式编译记录
  10. 商业模式分析——3W2H分析法