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实现的防DDoS脚本
Feb 08 Python
sqlalchemy对象转dict的示例
Apr 22 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
Python3视频转字符动画的实例代码
Aug 29 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 Python
Python for循环与getitem的关系详解
Jan 02 Python
python字符串替换re.sub()实例解析
Feb 09 Python
使用python处理题库表格并转化为word形式的实现
Apr 14 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 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
改进的IP计数器
2006/10/09 PHP
Laravel5中contracts详解
2015/03/02 PHP
php计算整个目录大小的方法
2015/06/01 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
Javascript----文件操作
2007/01/18 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
input的focus方法使用
2010/03/13 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
详解Python中的日志模块logging
2015/06/19 Python
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
python列表推导式入门学习解析
2019/12/02 Python
Python类中self参数用法详解
2020/02/13 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
中药专业自荐信范文
2014/03/18 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
会议营销主持词
2015/07/03 职场文书
教师节祝酒词
2015/08/11 职场文书
2016国培研修心得体会
2016/01/08 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
Elasticsearch 批量操作
2022/04/19 Python