本帖最后由 人工智能 于 2018-8-17 11:32 编辑
又到一年虐狗节,今年的七夕,你脱单了吗?如果没脱单,那么不要方,我也没有,如果脱单了,那你点进来干嘛呢!
做单身狗做久了,可能就真的习惯了一个人,习惯了一个人的孤单、悲伤,也习惯了坚强。
可是,你单身的原因又是什么呢?是因为不想将就?不想随便说爱?还是因为还没有遇见那个Ta……
缘分真的莫名其妙,我们每天与那么多的人擦身而过,也许其中的某一人就是陪伴我们走过一生那一个。
不要错过是我们获得幸福的重要法宝,喜欢Ta当然要告诉Ta,要知道你并不缺少朋友,你需要的是一个爱人。在七夕这个浪漫的日子,拿出自己积蓄已久的勇气,大声表白Ta吧!
表白的方式千千万万 送花太普通~ 烛光晚餐没新意~ 看电影没重点~ 播妞可是为了大家的幸福准备了一个表白神器 这可是程序员小哥哥熬夜加班开发出来的 当当当
利用Python技术制作了一个小工具,实现实时监控微信聊天记录
究竟是如何实现的呢?看大神的操作 微信聊天生成词云使用说明: 一.登录微信,监听关注的微信好友,存储信息:
我们执行wx_word.exe这个程序,会弹出一个二维码(跟平时登录微信的二维码一样),扫描二维码之后,根据提示会让你输入关注的微信好友名称(注意:名称是微信好友的备注名)。 之后你与对方的聊天记录就被你监听并保存到本地(信息存储本地,不必担心聊天信息泄露)。
二.生成词云图:
当你想生成词云图的时候,运行word_parse.py脚本文件(运行脚本文件需要安装python3及以上版本的编译环境),运行完成之后,便会生成心形的词云图。
三.运行的环境: windows电脑 安装python3及以上版本的编译环境 安装几个必要的python库
wxpy获取实时微信聊天记录我们使用wxpy库监听微信好友的聊天,然后收集与好友的实时聊天记录
[Python] 纯文本查看 复制代码 # 获取好友聊天
@bot.register(my_friend)
def print_others(msg):
# 输出监听到的消息
if msg.text:
f = open('data.txt', 'a')
f.write(msg.text + '\n')
embed()
jieba分词我们利用jieba 库对记录进行分词操作,能将一个句子分为单个词语。我们对jieba做一个简单的了解,以下为官方文档中的一部分:
jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型 代码示例:
[Python] 纯文本查看 复制代码 # 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))
输出:
[Python] 纯文本查看 复制代码 【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
【精确模式】: 我/ 来到/ 北京/ 清华大学
【新词识别】:他, 来到, 了, 网易, 杭研, 大厦 (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)
【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
wordcloud库我们使用wordcloud包生成词云图,首先了解一下其用法:
[Python] 纯文本查看 复制代码 # 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)
心形词云图:为了生成心形的词云,我们首先找一张心形的图片:
代码示例:
[Python] 纯文本查看 复制代码 # 生成词云图
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吧!
|