python怎么生成词云_导出微信聊天记录文本

December 17, 2023
测试
测试
测试
测试
4 分钟阅读

python怎么生成词云_导出微信聊天记录文本问题描述:将微信的聊天记录导出,生成词云,留作纪念。先看效果:非常多的哈哈哈(◕ˇ∀ˇ◕)**第一步:导出微信聊天记录**将微信聊天记录导出成文档,知乎上有很多种方法,其中主要是两类,第一种是通过root手机,获取权限;第二种为通过AppleiTunes备份。这里选择第二类方法(小米note3不支持root),具体过程也较为简便,感谢知乎**@hangcom**提供的免费工具...

够帮助大家进步!!!大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说python怎么生成词云_导出微信聊天记录文本,希望能

问题描述:将微信的聊天记录导出,生成词云,留作纪念。

先看效果:

在这里插入图片描述
在这里插入图片描述

非常多的哈哈哈 (◕ˇ∀ˇ◕)

**

第一步:导出微信聊天记录

**

将微信聊天记录导出成文档,知乎上有很多种方法,其中主要是两类,第一种是通过root手机,获取权限;第二种为通过Apple iTunes 备份。

这里选择第二类方法(小米note3不支持root),具体过程也较为简便,感谢知乎**@hangcom**提供的免费工具,万分。 具体过程可移步查看https://zhuanlan.zhihu.com/p/32511173,不再赘述。

导出后,生成文件夹,包含视频、图片和聊天内容子文件,其中视频图片不再多说,单说聊天内容。 聊天内容HTML网页文件,文字内容以js格式保存,名为‘message’的JavaScript文件。 这里需要先将js文件用文本编辑器以txt格式打开,打开后显示包含中英文及各种字符。

这里含有所有的聊天内容。 接下来,对其中的中文汉字进行提取(假设聊天内容都是汉字)。 **

第二步:从聊天记录中提取所有的汉字

import re
import codecs
with codecs.open('*filepath*', 'r' ,encoding = 'utf-8') as file:
    f = file.readline()
    k = re.findall(r'[\u4e00-\u9fa5]+', f)

只听到从架构师办公室传来架构君的声音: 爰居爰处?爰丧其马?于以求之?于林之下。有谁来对上联或下联?

**

第三步:用jieba分词

此代码由Java架构师必看网-架构君整理
import jieba
ls = jieba.lcut(k)
excludes = {"不是", "就是", "这么", "怎么"} 
#此方法可以排除特定词组,(本代码运行过程中excludes失效,未果)改用其他方法实现,方法如下:
for word in ls:
    if len(word)==1: 
        continue
    elif word in ["不是", "就是", "这么", "怎么", "这个", "不能", "什么", "没有"]:
        continue
    else:
        fname = open('jilu', 'a') #新建并追加写入名为'jilu.txt'的文件,不含指定词组
        fname.writelines(word)
fname.close()
#也可以逆向操作,删除指定词组,此外还可以添加定义分词规则

**

第四步:统计词频最高的前10个词(可略

需要统计各词组出现频次,进行排序,并输出。

    for word in ls:
    if len(word)==1:
        continue
    else:
        counts[word] = counts.get(word, 0) +1
items = list(counts.items())
items.sort(key = lambda x:x[1], reverse=True)
for i in range(10):
    word, count = items[i]
    print('{0:<10}{1:>5}'.format(word, count))

**

第五步:wordcloud生成词云

也即最后一步,按照指定图形生成词云。

此代码由Java架构师必看网-架构君整理
import wordcloud
txt = ' '.join(ls)
w = wordcloud.WordCloud(font_path = 'msyh.ttc' , width = 1000, height = 700, background_color = 'white') #使用微软雅黑字体
w.generate(txt)
w.to_file('Welove.png')

今天文章到此就结束了,感谢您的阅读。

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多