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登录Dr.com思路以及代码分享
Jun 25 Python
python和shell实现的校验IP地址合法性脚本分享
Oct 23 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
Python XlsxWriter模块Chart类用法实例分析
Mar 11 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
Python关于反射的实例代码分享
Feb 20 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 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
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
帝国cms目录结构分享
2015/07/06 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
PHP的自定义模板引擎
2017/03/24 PHP
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
haskell实现多线程服务器实例代码
2013/11/26 Python
跟老齐学Python之做一个小游戏
2014/09/28 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Python矩阵常见运算操作实例总结
2017/09/29 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
Django接收自定义http header过程详解
2019/08/23 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
使用Python实现批量ping操作方法
2020/05/06 Python
Python实现验证码识别
2020/06/15 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
表扬通报怎么写
2015/01/16 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
公司文体活动总结
2015/05/07 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript