前言

2019年过去了,想回顾一下在过去的一年里和好朋友都聊了些什么,于是打算把微信聊天记录生成一个词云。

1 导出微信聊天记录

1.1 用iTunes备份

点击立即备份将手机上的文件备份到电脑上

1.2 楼月免费iTunes备份管理器

在电脑上安装并运行楼月免费iTunes备份管理器,将备份数据中保存了微信聊天记录的Documents文件夹导出到电脑上。

1.3 楼月微信聊天记录导出恢复助手

在电脑上安装楼月微信聊天记录导出恢复助手,选择要导出的好友,复制全部的聊天记录,在电脑上新建一个TXT文本文件,粘贴进去。

楼月软件官方介绍
安装包在这里哦

2 准备工作

2.1 第三方库的安装

wordcloud包
将下载的文件放到一个文件夹下,安装命令是 pip install wordcloud‑1.4.1‑cp36‑cp36m‑win_amd64.whl
注意首先要进入到放置这个文件的目录下,比如输入 D:
如果需要生成中文的词云,还需要导入jieba分词的包。
jieba官方网站

2.2 素材

正式输入代码之前,我们还需要下载一份中文字体文件以及遮罩层图片。
中文字体文件

为了方便,我们将字体文件、遮罩层图片、文本文件都移动到我们的工作目录下。

3 编写代码

由于我们想要生成带有轮廓的词云,因此需要导入numpy包,它是python的一种开源的数值计算扩展,可用来存储和处理大型矩阵,处理的时候将图片表示为一个大型矩阵,在有颜色的地方进行填词。

import pandas as pd
import numpy as np
from os import path

接下来读取TXT文件,注意在之前保存的时候编码要选择UTF-8,否则可能会报错哦

filename = "H:/aaa/ping.txt"
with open(filename,'r',encoding='utf-8') as f:mytext = f.read()

结巴分词,生成字符串,有多种分词模式
去停用词时,可以手动去除,也可以建立停用词表

import jieba
import jieba.analyse
from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
mytext = str(mytext)
mytext = "".join(jieba.lcut(mytext))
stop_words = set(STOPWORDS)
stop_words.add("表情")

PIL(Python Image Library)是python平台图像处理标准库
接下来导入图片和字体,并设置参数。scale的数值越大,产生的图片分辨率越高,字迹越清晰。

d = path.dirname("H://aaa//")
from PIL import Image
alice_mask = np.array(Image.open(path.join(d,"1.jpg")))
font=r'H:\\aaa\\simsun.ttf'
wordcloud = WordCloud(scale=16,font_path=font,background_color='White',max_words=150,width=1000,height=600,max_font_size=200,stopwords=stop_words,mask=alice_mask,random_state=1,).generate(mytext)

最后运行这串代码,词云就生成了,保存为png格式会增加清晰度。

%pylab inline
import matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
wordcloud.to_file(path.join(d,"ping.png"))

4 结果展示


可以看到大部分表情包词语都出现了两次,因此最开始的数据清洗很重要(๑´͈ ᵕ `͈๑)◞♡呐今天就先到这里吧,大家新年快乐❤

利用python将微信聊天记录生成词云相关推荐

  1. 导出微信聊天记录,使用python进行分词,生成词云

    导出微信聊天记录,使用python进行分词,生成词云 导出微信聊天记录,使用python进行分词,生成词云 备份数据 浏览.导出数据 查看数据 操作数据库,分析生成词云 下载全部文件 导出微信聊天记录 ...

  2. 微信聊天记录的词云制作

    微信聊天记录的词云制作 需求 导出微信聊天记录 提取文字聊天记录 生成词云 需求 想把跟朋友的微信聊天记录做个词云 导出微信聊天记录 我的手机是iphone,用旧版的itunes备份手机全部信息 it ...

  3. 利用python做微信聊天记录词云分析——记录美好回忆

    目录 1 概述 2 数据准备 2.1 安卓设备 2.1.1 Root手机,安装Root Explorer 2.1.2 用Root Explorer将聊天记录的数据文件导出并存入电脑 2.1.3 对En ...

  4. 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来! 需要Python软件工具和学习资料的小伙伴可以点击下方链接自行获取 http://no ...

  5. 【趣味案例】谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    说到词云应该不陌生,不知道的童靴往下看 词云,就是把网络文本中出现频率较高的 "关键词"予以视觉上的突出 浏览者只要一眼扫过文本就可以领略其主旨 瞧 这是不是一个有声音.有画面的小 ...

  6. Python 任意中文文本生成词云 最终版本

    前叙 利用下面的代码你将可以将任意中文文本生成词云,其分词部分由jieba,NLPIR2016两个部分组成,生成词语由worldcloud负责,默认会自动发现文本中的20个新词并添加到词库中,当然你也 ...

  7. python爬取数据生成词云_Python 爬取生成中文词云以爬取知乎用户属性为例

    代码如下: # -*- coding:utf-8 -*- import requests import pandas as pd import time import matplotlib.pyplo ...

  8. 利用Python做一个小姐姐词云跳舞视频

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 来源:修炼Python 每周三个人直播,想和我聊天的欢迎来约 ‍‍‍‍‍‍‍朝朝暮暮里,祝愿我们每个人都能沉淀 ...

  9. 情人节礼物------用她的照片和我们的聊天记录生成词云~

    用到的知识点 python读写文件 python正则表达式过滤无用信息 jieba分词与自定义字典 停用词筛选.统计词频 调用wordcloud绘制词云 第一步 从电脑版蛐蛐导出聊天记录.(手机一般不 ...

  10. 在Python中自然语言处理生成词云WordCloud

    了解如何在Python中使用WordCloud对自然语言处理执行探索性数据分析. 最近我们被客户要求撰写关于自然语言处理的研究报告,包括一些图形和统计输出. 什么是WordCloud? 很多时候,您可 ...

最新文章

  1. SAP UI5 busy Dialog debug - 单步调试
  2. Postgresql快速写入\/读取大量数据(.net)
  3. 为什么explorer.exe会占有大量的CPU?
  4. 2.WindowsServer2012R2装完的一些友好化设置
  5. 教学思路ASP.Net之服务器控件: 四、FileUpload
  6. 【QT】QT从零入门教程(六):QDockWidget停靠窗口
  7. Oracle的重做日志
  8. 经典排序算法(九)--鸡尾酒排序Cocktail Sort
  9. FISCO BCOS Solidity 智能合约 return string[] This type is only supported in the new experimental ABI
  10. 好用的ASP.NET 分页类 简单好用 支持 AJAX 自定义文字
  11. vue项目中报常见错误
  12. 国基北盛—云计算容器云pass(2.4)平台搭建
  13. 服务器运维监控知识体系
  14. python安装pyqt4_PyQt4 64位下载 PyQt4 for python2.7 v4.8.5 64位 windows 官方简体中文安装版 下载-脚本之家...
  15. 在光标位置处插入图片
  16. 真格量化的回测交易撮合机制简介
  17. rsync与cwRsync
  18. 【新征程】1、考研路漫漫
  19. 从头认识一遍“货到人”拣选
  20. MacOS上ESP8266开发板刷microPython教程

热门文章

  1. Debug调试报错解决方案
  2. 何谓情比金坚——婚姻来源和相关说法
  3. 对分法求非线性方程的根
  4. 企业如何自建MDM 移动设备管理平台
  5. [精简]托福核心词汇102
  6. 【联想小新笔记】win10查看本机wifi无线网络密码
  7. 期刊评价查询+机器人领域期刊排名
  8. Hadoop专业解决方案-第5章 开发可靠的MapReduce应用
  9. Unity : Timeout while trying to pause the Unity Engine.应用闪退问题修复
  10. 计算机 bat文件夹加密,无需第三方软件,自制批处理加密隐藏文件夹