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 MySQLdb模块连接操作mysql数据库实例
Apr 08 Python
Python单元测试框架unittest使用方法讲解
Apr 13 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
python版百度语音识别功能
Jul 09 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
Django分页功能的实现代码详解
Jul 29 Python
python 公共方法汇总解析
Sep 16 Python
如何使用python切换hosts文件
Apr 29 Python
基于Python把网站域名解析成ip地址
May 25 Python
浅析Python面向对象编程
Jul 10 Python
Python办公自动化解决world文件批量转换
Sep 15 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/07/09 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
php 购物车完整实现代码
2014/06/05 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
类似框架的js代码
2006/11/09 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
js实现简单商品筛选功能
2021/02/02 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
关于python中的xpath解析定位
2020/03/06 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
机电一体化求职信
2014/03/10 职场文书
设计专业自荐信
2014/06/19 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
Jsonp劫持学习
2021/04/01 PHP
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js