# -*- coding: UTF-8 -*-
from wxpy import *from wxpy import *
from os import path
import re, jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.font_manager as fm
# 初始化一个机器人对象
# cache_path缓存路径,给定值为第一次登录生成的缓存文件路径
bot = Bot()
#获取好友列表(包括自己)
my_friends = bot.friends(update=False)
'''
stats_text 函数:帮助我们简单统计微信好友基本信息
简单的统计结果的文本:param total: 总体数量:param sex: 性别分布:param top_provinces: 省份分布:param top_cities: 城市分布:return: 统计结果文本
'''
print(my_friends.stats_text())
# 清洗数据,生成词云图
#获取当前的项目文件加的路径
#读取停用词表
stopwords_path='static/stopwords.txt'#定义个函数式用于分词
def jiebaclearText(text):#定义一个空的列表,将去除的停用词的分词保存mywordList=[]#进行分词seg_list=jieba.cut(text,cut_all=False)#将一个generator的内容用/连接listStr='/'.join(seg_list)listStr = listStr.replace("class","")listStr = listStr.replace("span", "")listStr = listStr.replace("emoji", "")#打开停用词表f_stop=open(stopwords_path,encoding="utf8")#读取try:f_stop_text=f_stop.read()finally:f_stop.close()#关闭资源#将停用词格式化,用n分开,返回一个列表f_stop_seg_list=f_stop_text.split("n")#对默认模式分词的进行遍历,去除停用词for myword in listStr.split('/'):#去除停用词if not(myword.split()) in f_stop_seg_list and len(myword.strip())>1:mywordList.append(myword)return ' '.join(mywordList)
# 生成词云图
def make_wordcloud(text1,i):bg = plt.imread(r"image/heart.jpg")# 生成wc = WordCloud(# FFFAE3background_color="#FFFFFF",  # 设置背景为白色,默认为黑色width=990,  # 设置图片的宽度height=440,  # 设置图片的高度mask=bg,margin=10,  # 设置图片的边缘max_font_size=70,  # 显示的最大的字体大小random_state=20,  # 为每个单词返回一个PIL颜色font_path='static/simkai.ttf'  # 中文处理,用系统自带的字体).generate(text1)# 为图片设置字体my_font = fm.FontProperties(fname='static/simkai.ttf')# 图片背景bg_color = ImageColorGenerator(bg)# 开始画图plt.imshow(wc.recolor(color_func=bg_color))# 为云图去掉坐标轴plt.axis("off")# 画云图,显示# 保存云图wc.to_file(r"image/render_0%d.png"%i)
# 微信昵称
nick_name = ''
# 微信个性签名
wx_signature = ''
for friend in my_friends:# 微信昵称:NickNamenick_name = nick_name + friend.raw['NickName']# 个性签名:Signaturewx_signature = wx_signature + friend.raw['Signature']nick_name = jiebaclearText(nick_name)
wx_signature = jiebaclearText(wx_signature)
make_wordcloud(nick_name,1)
make_wordcloud(wx_signature,2)

python生成词云_今天玩点啥:使用python生成微信好友地域分析、微信昵称、个性签名词云...相关推荐

  1. 【Python3.6】生成微信好友个性签名词云

    代码链接:https://gitee.com/AI-Echo/codes/4bk0tsqczpe6dfyhu7mlo12 思路: 1.通过itchat爬取微信好友信息,获取好友签名Signature ...

  2. Python3 + 微信 演绎好友个性签名词云

    参考文章:用Python更加了解微信好友 本实验参考网络上的代码,其中遇到很多错误,不过都顺利解决了,这其中的心酸可想而知.写这篇博文的目的也是记载一下这些出错的解决方法,至少在我的环境下解决了. 实 ...

  3. python模拟按键包_今天玩点啥:利用python之PyUserInput实现模拟鼠标键盘操作,抢红包?聊天?自动下载?...

    一.PyUserInput安装 python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中.在python3.5中,直接安装PyUserInput模块即可 Py ...

  4. 使用python生成微信好友个性签名词云图

    生成词云主要使用了itchat.jieba.wordcloud这三个依赖库 itchat itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. jieba "结巴& ...

  5. python制作微信个人二维码_如何用Python制作微信好友个性签名词云图

    前言 上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来. 1.环境说明 Win10 系统下 Python3,编译器是 ...

  6. 酷播云的视频分享到微信完整教程(转发给微信好友、微信群、微信朋友圈)

    今天来教教大家如何把自己在酷播云的视频分享到微信中(微信好友.微信群.微信朋友圈),并且在分享页中,添加自己定义的一些视频介绍.视频说明之类的内容. 酷播云是一免费平台,官网地址是www.cuplay ...

  7. python爬取歌词生成词云图_爬取毛不易歌词作词云展示

    爬取毛不易歌词作词云展示 今天我们做一个数据可视化的项目,爬取毛不易的歌词做词云展示. 1.爬取数据 我们主要使用 Python 爬虫获取 HTML,用 XPath 对歌曲的 ID.名称进行解析,然后 ...

  8. python生成词云图_用python生成词云图教程

    闲话不多说,直接上干货! STEP1 安装jieba包 点击桌面菜单栏的开始按钮,输入cmd回车,进入命令窗口. 在命令行输入 pip install jieba回车,安装jieba包. 安装word ...

  9. 如何用python做词云图_科学网—如何用Python做词云?(基础篇视频教程) - 王树义的博文...

    只需要花10几分钟,跟着教程完整做一遍,你就能自己用Python做出词云了. <如何用Python做词云?>图文版发布于2017年6月,是我数据科学系列教程中的第一篇. 目前仅简书一个平台 ...

最新文章

  1. How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?
  2. java开源网络服务器端组件_OpenNMS - 网络服务器端组件 - 组件类库 - JAVA开源项目 - 开源吧...
  3. 加权残差连接ReZero
  4. .net framework 25007 error
  5. jakarta ee_MicroProfile在Jakarta EE时代的作用
  6. linux 父子进程结束,Linux下让父进程结束后,子进程自动结束
  7. Linux_Kernel_Function_Tracing_hooking.jpg
  8. currenthashmap如何实现线程安全_Java的List如何实现线程安全?
  9. 4.[attribute!=value]属性选择器
  10. azure云数据库_将Azure SQL数据库警报集成到Slack
  11. 概率论与数理统计(二)选择题
  12. 安装 Redis的Python客户端redis-py
  13. 元组 与 字典
  14. Qt基本控件及三大布局
  15. matlab中可调节负载,请教MOC3022控制可控硅的电路调节负载功率的问题
  16. Tesla M40 24G 在Win11上的双显卡显示实现、改风冷
  17. 《MIT科技评论》“35位35岁以下科技创新青年”名单出炉!AI领域有5人入选 | 2020中国区...
  18. Dynamic Programming(1)
  19. C#检测网络连接状态
  20. 采用morison方程基于matlab计算大直径波浪力,用Morison方程计算分析悬浮隧道所受波浪力初探...

热门文章

  1. C++异常(exception)第一篇--综合讲解
  2. linux下libpcap抓包分析
  3. 极度 YM....自己用trie写了个伪 map....( HDU 1075 )
  4. CImage与OpenCV兼容问题
  5. java 第十一章总结
  6. python 矩阵元素赋值_对numpy中数组元素的统一赋值实例
  7. 汉字笔画动图怎么做_“快乐学写字”之五:新笔画及生字间架结构形象化解说(课文1—4)...
  8. python点名代码_基于python tkinter的点名小程序功能的实例代码
  9. 外星人台式电脑_执掌游戏世界 外星人ALIENWARE m15丨17.9mm机身轻悍降临【电脑组装】公众号分享台式机笔记本电脑 京东商城特惠通道...
  10. java 将一张图片切割成n个小图片,任意切割一张图片成新图片