1.下载地址:

2.安装Python第三方库:jieba、wordcloud

Anaconda 安装完毕后,进入Anaconda Prompt(命令提示符)下,键入pip install jieba、pip install wordcloud完成如上两包的安装。

Spyder是Anaconda提供的一种Python编辑器。

1. 资源准备

《西游记》文本: ftp://202.196.225.60:2222/xiyou.txt

《水浒传》文本:ftp://202.196.225.60:2222/shuihu.txt

《三国演义》文本:ftp://202.196.225.60:2222/3g.txt

《金瓶梅》文本:ftp://202.196.225.60:2222/jinpingmei.txt

《红楼梦》文本:ftp://202.196.225.60:2222/stone.txt

《西游记》词云底图:

ftp://202.196.225.60:2222/monkey2.png

《水浒传》词云底图:ftp://202.196.225.60:2222/sh2.png

《三国演义》词云底图:ftp://202.196.225.60:2222/sg.png

《金瓶梅》词云底图:

ftp://202.196.225.60:2222/jinpingmei.png

《红楼梦》词云底图:ftp://202.196.225.60:2222/stone.png

注意:上述文本文件需用Notepad++()统一设置编码格式,本文文本文件采用的是“UTF-8”。

通过Sypder可新建扩展名为.py的Python文件。为节约代码,如上资源文件和Python文件置于同一文件夹下。

注意:为了不影响正常生成词云,不要把Python文件命名为“wordcloud”。

若下文直接拷贝运行出现了“invalid character in identifier”的错误,为非可见字符导致,请自行敲代码再运行。

#开始写啦ヾ(o′▽`o)ノ°°谢谢# Anaconda默认提供,该库是进行科学计算的基础包,可以用作通用数据的高效多维容器。import numpy as np# Anaconda默认提供,该库支持多种文件格式,并提供强大的图像处理和图形功能。from PIL import Image# 该库内置最佳Python中文分词模块,支持三种分词模式。import jieba# 该库为Python的一个小词云生成器。from wordcloud import WordCloud# pyplot主要用于交互式图和程序化图的生成,提供了类似MATLAB的绘图方式。import matplotlib.pyplot as plt# 读取《西游记》文本xy_txt = open('xiyou.txt','r',encoding='utf-8').read()# 读取《水浒传》文本sh_txt = open('shuihu.txt','r',encoding='utf-8').read()# 读取《三国演义》文本sg_txt = open('3g.txt','r',encoding='utf-8').read()# 读取《金瓶梅》文本jpm_txt = open('jinpingmei.txt',encoding='utf-8').read()# 读取《红楼梦》文本stone_txt = open('stone.txt','r',encoding='utf-8').read()# 统计词频开始...(仅以《水浒传》为例,其它类似)# 使用jieba进行中文分词,返回列表words = jieba.lcut(sh_txt) # 定义一个字典,存储分词结果counts = {}# 遍历分词列表,单字忽略,只累计多字的出现次数for word in words: 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)# 输出词频统计(限前100)for i in range(100): word, count = items[i]    print('{0:<20}{1:>5}'.format(word,count))# 词频统计结束...# 词云生成开始...# 设置词云遮罩(图片)sh_mask = np.array(Image.open('sh2.png'))# 设置词云参数,要指定中文字体,否则会出现乱码# 方正细珊瑚简体,词频前2000的词,背景为白wc = WordCloud(font=r'c:\windows\fonts\FZXSHJW.ttf',background_color='white',max_words=2000,mask=sh_mask)# 生成词云wc.generate(sh_txt)# 当前目录(Python文件所在的文件夹下)生成图云图片wc.to_file('sh.png')# 在Sypder编辑器下显示词云图plt.imshow(wc,interpolation='bilinear')plt.axis('off')plt.figure()

1、《水浒传》

(1)词频

及时雨同志绝对主角哈~

一帮嘴货!

两个库的处理结果不太一样哪~

2、《西游记》

(1)词频

行者武松是也~

(2)词云

3、《三国演义》

(1)词频

(2)词云

曰货s。。。

4、《金瓶梅》

(1)词频

(2)词云

鄙人不擅长看金瓶梅,伯爵这厮是谁?

5、《红楼梦》

(1)词频

(2)词云

菇凉可曾读书?

1、大师兄,不好啦!林妹妹和瓶儿被曹贼抓走啦,生辰纲也不见啦!

2、李逵三声大喝,当阳桥断,曹军统帅贾母吓得自马上跌落,伏地大呼:快去请如来佛祖~~

3、孟德葬花,观音卖刀。

4、“大圣,要下及时雨了,快去虎牢关扒灰呀。”

5、妹妹可曾读书?须知天下大势,分久必合,合久必分,你若有心,吃我这半盏儿残酒,好留与你些圣水。

6、兀那汉子这等眼熟,却不知是卧龙还是凤雏,便问道:你是猴子请来的救兵吗?

7、大观园孔明借箭 景阳冈悟空打虎。

8、大师兄,嫂嫂被董卓掠到大观园啦。

9、“宝玉,军师说此景阳冈有一只来自狮驼国的虎妖,为非作歹。还当尽早寻一家酒馆安营扎寨才是。”宝玉口中答应,眼前已现一张酒旗迎风展开,上书五个大字:一人一口酥。

10、宝钗杀嫂,皇叔晒经。

11、“主公,是林妹妹约俺老猪到王干娘家吃酒的。”

12、黛玉看着这个细皮嫩肉的俊和尚不禁想起那风流的燕青,忖道:还好他不是皇叔。

13、孙尚香:圣僧,你还记得阳谷县的林妹妹吗?

14、女娲补天剩下灵石无数.一块化为悟空,一块被僧道带去.一块镇压了天罡地煞.剩下的被孔明堆成了八阵图。

15、关云长单刀会金莲,贾宝玉三打白骨精。

16、就是唐僧勾搭潘金莲逼着刘关张上了梁山的故事嘛!

17、黛玉,你那棒子可是泼猴所给?快借老黑一用,待我与翼德兄快活一番!

18、悟空救我!二弟救我!!宝玉救我!!!兄弟们救我!!!!