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实现的百度站长自动URL提交小工具
Jun 27 Python
Python脚本获取操作系统版本信息
Dec 17 Python
Python实现字符串匹配算法代码示例
Dec 05 Python
pycharm 解除默认unittest模式的方法
Nov 30 Python
python turtle库画一个方格和圆实例
Jun 27 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
Python3如何对urllib和urllib2进行重构
Nov 25 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Python包和模块的分发详细介绍
Jun 19 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 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 操作文件的一些FAQ总结
2009/02/12 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
js实现烟花特效
2020/03/02 Javascript
python 数据加密代码
2008/12/24 Python
python 提取文件的小程序
2009/07/29 Python
Saltstack快速入门简单汇总
2016/03/01 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
python 实现波浪滤镜特效
2020/12/02 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
临床医师专业个人自我评价范文
2013/11/07 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
物理研修随笔感言
2014/02/14 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
休学证明范本
2015/06/19 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python