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爬虫之爬虫的定义及URL构成
Nov 04 Python
python常规方法实现数组的全排列
Mar 17 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
python中as用法实例分析
Apr 30 Python
python结合API实现即时天气信息
Jan 19 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
Python3.5装饰器典型案例分析
Apr 30 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
Django如何使用jwt获取用户信息
Apr 21 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
python基于opencv 实现图像时钟
Jan 04 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 URL验证正则表达式
2011/07/19 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
JS input 数字验证代码
2009/07/30 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python获取指定时间差的时间实例详解
2017/04/11 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
Python是怎样处理json模块的
2020/07/16 Python
python openCV自制绘画板
2020/10/27 Python
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
餐饮业的创业计划书范文
2013/12/26 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
元旦联欢会主持词
2014/03/26 职场文书
授权委托书
2014/09/17 职场文书
车间班组长竞聘书
2015/09/15 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers