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分析网页上所有超链接的方法
May 08 Python
Python中List.count()方法的使用教程
May 20 Python
Python实现包含min函数的栈
Apr 29 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 Python
python 字符串只保留汉字的方法
Nov 16 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
django haystack实现全文检索的示例代码
Jun 24 Python
学python最电脑配置有要求么
Jul 05 Python
Python字典的基础操作
Nov 01 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 判断常量,变量和函数是否存在
2009/04/26 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
JS实现复制功能
2017/03/01 Javascript
Vue.use源码分析
2017/04/22 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
python 把数据 json格式输出的实例代码
2016/10/31 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
python实现验证码识别功能
2018/06/07 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
python实现代码统计器
2019/09/19 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
护理专业个人求职简历的自我评价
2013/10/13 职场文书
七年级地理教学反思
2014/01/26 职场文书
秋季运动会广播稿
2014/02/22 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
公司晚会策划方案
2014/05/17 职场文书
爱心募捐通知范文
2015/04/27 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
小学音乐课教学反思
2016/02/18 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis