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 相关文章推荐
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
编写Python脚本来实现最简单的FTP下载的教程
May 04 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
Python collections模块使用方法详解
Aug 28 Python
python 追踪except信息方式
Apr 25 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
python -v 报错问题的解决方法
Sep 15 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 Python
Python爬取网站图片并保存的实现示例
Feb 26 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
php数组中包含中文的排序方法
2014/06/03 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
php 数据结构之链表队列
2017/10/17 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
python中requests库session对象的妙用详解
2017/10/30 Python
python+opencv实现动态物体识别
2018/01/09 Python
python梯度下降法的简单示例
2018/08/31 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
python的列表List求均值和中位数实例
2020/03/03 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
extern是什么意思
2016/03/10 面试题
经贸专业毕业生求职信范文
2014/05/01 职场文书
爱心捐书活动总结
2014/07/05 职场文书
五心教育心得体会
2014/09/04 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
幼师辞职信范文
2015/02/27 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
python中print格式化输出的问题
2021/04/16 Python