又到一年虐狗节,今年的七夕,你脱单了吗?如果没脱单,那么不要方,我也没有,如果脱单了,那你点进来干嘛呢!
做单身狗做久了,可能就真的习惯了一个人,习惯了一个人的孤单、悲伤,也习惯了坚强。
可是,你单身的原因又是什么呢?是因为不想将就?不想随便说爱?还是因为没有遇见那个Ta……
缘分真的莫名其妙,我们每天与那么多的人擦身而过,也许其中的某一人就是陪伴我们走过一生那一个。
不要错过是我们获得幸福的重要法宝,喜欢Ta当然要告诉Ta,要知道你并不缺少朋友,你需要的是一个爱人。在七夕这个浪漫的日子,拿出自己积蓄已久的勇气,大声表白Ta吧!
表白的方式千千万万
送花太普通~
烛光晚餐没新意~
看电影没重点~
为大家的幸福准备了一个表白神器
这可是程序员小哥哥熬夜加班开发出来的
当当当
利用Python技术制作了一个小工具,实现实时监控微信聊天记录
需填入对方姓名,并运行该程序,会根据聊天内容生成词云图(暂时不支持根据历史聊天记录生成词云图)
运行需要安装python编程环境
究竟是如何实现的呢?看大神的操作
微信聊天生成词云使用说明:
1登录微信,监听关注的微信好友,存储信息:
我们执行wx_word.exe这个程序,会弹出一个二维码(跟平时登录微信的二维码一样),扫描二维码之后,根据提示会让你输入关注的微信好友名称(注意:名称是微信好友的备注名)。
之后你与对方的聊天记录就被你监听并保存到本地(信息存储本地,不必担心聊天信息泄露)。
2生成词云图:
当你想生成词云图的时候,运行word_parse.py脚本文件(运行脚本文件需要安装python3及以上版本的编译环境),运行完成之后,便会生成心形的词云图。
3运行的环境:
1.windows电脑
2.安装python3及以上版本的编译环境
3.安装几个必要的python库
WXPY获取实时信息微信聊天记录
我们使用wxpy库监听微信好友的聊天,然后收集与好友的实时聊天记录
# 获取好友聊天
@bot.register(my_friend)
def print_others(msg):
# 输出监听到的消息
if msg.text:
f = open('data.txt', 'a')
f.write(msg.text + ' ')
embed()
JIEBA分词
我们利用jieba 库对记录进行分词操作,能将一个句子分为单个词语。我们对jieba做一个简单的了解,以下为官方文档中的一部分:
jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
代码示例:
# encoding=utf-8
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精确模式
seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式
print(", ".join(seg_list))
输出:
【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
【精确模式】: 我/ 来到/ 北京/ 清华大学
【新词识别】:他, 来到, 了, 网易, 杭研, 大厦 (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)
【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
wordcloud库
我们使用wordcloud包生成词云图,首先了解一下其用法:
# wordcloud.WordCloud的一些可控参数
class wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None,prefer_horizontal=0.9,mask=None, scale=1, color_func=None, max_words=200, min_font_size=4,stopwords=None, random_state=None,background_color='black', max_font_size=None, font_step=1,mode='RGB', relative_scaling=0.5, regexp=None, collocations=True,colormap=None,normalize_plurals=True)
心形词云图:为了生成心形的词云,我们首先找一张心形的图片:
代码示例:
# 生成词云图
pic = imread('./xin.jpg')
wc = wordcloud.WordCloud(mask=pic, font_path='./simhei.ttf', width=500, height=300,background_color='white').generate(word)
# 保存词云图
wc.to_file(os.path.join(d, "wechat_cloud.png"))
# 用plt将图画出来
plt.imshow(wc)
plt.axis('off')
plt.show()
效果图:下图是小编自己的聊天信息生成的图,感觉是不是很棒啊!!!
赶紧学一招然后发给心仪的那个Ta吧!
惊喜!
本文所用到的微信监控程序和脚本
全部整理好了,想要领取?
关注公众号回复“七夕脱单”即可获取。
如果大家喜欢这篇文章的话,希望大家能够收藏,转发 谢谢!更多相关资讯可以关注西安华美校区,免费获得java零基础教程!额外附送excel教程!
领取专属 10元无门槛券
私享最新 技术干货