Python 微信之获取好友昵称并制作wordcloud的实例


Posted in Python onFebruary 21, 2019

最近看到网上有人用Python获取微信的一些信息,感觉挺有意思,对于我一个Python刚入门的人来说,正需要一些代码片段来激起我的兴趣,所以自己也写了一些,废话不多说,直接上代码!!!

coding:utf-8
微信好友昵称WordCloud
import itchat
import re
import os
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
import PIL.Image as Image
import jieba
import time
#以上是我用到的一些库,这些根据个人不同需要安装某些库

#运行到此处会自动生成一个二维码,打开手机微信,扫一扫即可登录
itchat.login() 
friends = itchat.get_friends(update=True)[0:]
tList = []


for i in friends:
  #用正则表达式过滤掉 span ,class,emoji。NickName表示微信好友的昵称;
  signature = i["NickName"].strip().replace("span","").replace("class","").replace("emoji","")
  rep = re.compile("1f\d.+")
  signature = rep.sub("",signature)
  print signature
  tList.append(signature)


#拼接字符串
text = "".join(tList)

#jieba分词
wordlist_jieba = jieba.cut(text,cut_all=True)
wl_space_split = " ".join(wordlist_jieba)

#wordcloud
d = os.path.dirname(__file__)
alice_coloring = np.array(Image.open(os.path.join(d,"hot.png")))  #设置一个背景图片,文章中会附上
my_wordcloud = WordCloud(background_color="white",max_words=2000,mask=alice_coloring,max_font_size=37, random_state=42,
font_path="./handan.ttf").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()
time.sleep(3)
plt.close() #图片关闭后将图片发送至手机,保存图片,并发送至手机
my_wordcloud.to_file(os.path.join(d, "wechat_cloud.png"))
itchat.send_image("wechat_cloud.png", 'filehelper')

至此,打开你的手机,进入到文件传输助手,你会收到一张图片,这就是使用微信好友昵称制作的词云,下面附上一张我本人的

Python 微信之获取好友昵称并制作wordcloud的实例

Python 微信之获取好友昵称并制作wordcloud的实例

以上这篇Python 微信之获取好友昵称并制作wordcloud的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python动态监控日志内容的示例
Feb 16 Python
python生成指定尺寸缩略图的示例
May 07 Python
Python的Django框架中自定义模版标签的示例
Jul 20 Python
python爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
Python3学习urllib的使用方法示例
Nov 29 Python
关于Python的一些学习总结
May 25 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
详解Python学习之安装pandas
Apr 16 Python
python实现PID算法及测试的例子
Aug 08 Python
python TCP包注入方式
May 05 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
Pandas加速代码之避免使用for循环
May 30 Python
Python基于opencv调用摄像头获取个人图片的实现方法
Feb 21 #Python
python-itchat 获取微信群用户信息的实例
Feb 21 #Python
python 获取微信好友列表的方法(微信web)
Feb 21 #Python
Python基于mysql实现学生管理系统
Feb 21 #Python
python+mysql实现教务管理系统
Feb 20 #Python
python Tkinter版学生管理系统
Feb 20 #Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 #Python
You might like
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
PHP正则验证Email的方法
2015/06/15 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
Laravel实现表单提交
2017/05/07 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
python http基本验证方法
2018/12/26 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
python 实现aes256加密
2020/11/27 Python
类如何去实现接口
2013/12/19 面试题
移动通信行业实习自我鉴定
2013/09/28 职场文书
毕业生个人求职信范例分享
2013/12/17 职场文书
高职教师岗位职责
2013/12/24 职场文书
教师演讲稿开场白
2014/08/25 职场文书
科学发展观演讲稿
2014/09/11 职场文书
教师个人发展总结
2015/02/11 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
民事二审代理词
2015/05/25 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书