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基础教程之匿名函数lambda
Jan 17 Python
深入理解Python中的*重复运算符
Oct 28 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 Python
python命令行工具Click快速掌握
Jul 04 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
Oct 11 Python
Django静态资源部署404问题解决方案
May 11 Python
基于Python快速处理PDF表格数据
Jun 03 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
Python闭包的定义和使用方法
Apr 11 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
python利用正则表达式提取字符串
2016/12/08 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
python re模块常见用法例举
2021/03/01 Python
探亲邀请信范文
2014/01/30 职场文书
专题组织生活会方案
2014/06/15 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
紫日观后感
2015/06/05 职场文书
离婚民事起诉状
2015/08/03 职场文书
2019各种承诺书范文
2019/06/24 职场文书
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python