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中各种方法的运作原理
Jun 15 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
Python paramiko模块的使用示例
Apr 11 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
python与pycharm有何区别
Jul 01 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
利用php来自动调用不同服务器上的flash
2006/10/09 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
在Python中使用列表生成式的教程
2015/04/27 Python
python使用pymysql实现操作mysql
2016/09/13 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
django框架ModelForm组件用法详解
2019/12/11 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
上海中网科技笔试题
2012/02/19 面试题
客户答谢会活动方案
2014/08/31 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书