Python初学者,分享自己学习的例子,今天是关于QQ群的聊天内容的分析,生成词云,效果如下,内容来自于经常聊天的技术群:
下面开始讲步骤:
(一)安装Python运行环境
这个在这边我不多说了,我用的还是2.7,关于IDE,无论是用PyChram还是用anaconda都是不错的选择,PyChram很好下载,anaconda要去清华大学开源软件镜像站下载(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/),其实今天的用不到IDE,我就顺便讲一下
然后pip 和 npm cnpm这些要配置好,具体网上教程太多
(二)创建项目
自己建文件夹,Demo(这个自己随意)
做一些准备工作
1.获取ttf字体文件
下载中文文本数据,这个网址(https://s3-us-west-2.amazonaws.com/notion-static/b869cb0c7f4e4c909a069eaebbd2b7ad/simsun.ttf),下载simsun.ttf
下载后,将这个ttf字体文件移动到Demo目录下
2.获取QQ群聊天内容
腾讯指导(http://kf.qq.com/info/42589.html),注意,导出的类型为txt,导出之后,我命名为qq.txt,将文本放到也移动到Demo目录下
3.安装工具类
打开cmd/Powershell之类的命令窗,先执行:
pip install wheel
pip install wordcloud
pip install jupyter
安装的过程中可能会出现 "......failed building wheel for scandir"的问题,这个时候第一步百度啊,咳咳,http://www.cnblogs.com/harvey888/p/5467276.html这个回答不错,我直接找到了pythonlibs,链接(http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud),然后搜索scandir 然后找到对应的whl,接下来使用pip install “文件路径+whl文件名”来安装,反正要把jupyter这个安装好
继续安装中文分词工具" 结巴分词"(https://github.com/fxsjy/jieba)
执行以下代码
pip install jieba
这边都是准备工作,一通安装各种工具,确保安装的工具都没有问题,不然下面都进行不下去
(三)运行
在Demo文件夹下面运行cmd/Powershell之类的命令窗,运行
jupyter notebook
运行之后会自动在浏览器上跳出,如下图一样的界面,说明你做到这边都很成功
然后我们点开qq.txt看看内容,对了如果出现乱码之类的,记得utf-8
回到Jupyter笔记本的主页面。点击New按钮,请选择Python 2选项。
点击上面的"Untitled"给新的文件命名,叫qq
在代码文本框里,输入
filename = "qq.txt"
with open(filename) as f:
mytext = f.read()
输入后,按Shift+Enter键执行,或者按上面的Run按钮执行
然后要看一下mytext内的内容,输入
print(mytext)
显示结果如下
如果显示的都是和之前的txt上看到的一样,说明文本读取没有问题,下面就开始分词了
输入
import jieba
mytext = " ".join(jieba.cut(mytext))
结果如下图
这个时候的分词已经分好了,不放心可以print(mytext)看一下
下面开始做词云图片了
from wordcloud import WordCloud
wordcloud = WordCloud(font_path="simsun.ttf").generate(mytext)
%pylab inline
import matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
fig = matplotlib.pyplot.gcf()
fig.set_size_inches(18.5, 10.5)
fig.savefig('qq.png', dpi=600)
plt.axis("off")
效果如下
在Demo文件夹里面也有对应的保存的图片
因为的初学者,可能有一些地方讲的不太对,请大家见谅