python词云2:明朝那些事儿

[写这个的时候参考了https://www.cnblogs.com/jiayongji/p/7119080.html]

一、遇到了很多错误

1、词云背景图片无效或者不明显
解决办法:
①.图片格式使用*.jpg
②.图片背景使用白色,为了更突出,可以直接把图片颜色改成黑色
③.以上两点可以使用ps

2、报错信息:
line 36, in read_cut_result x = x.decode('utf-8') AttributeError: 'str' object has no attribute 'decode'
修改前的代码:

# 这里解码成utf-8格式,是为了防止后面生成词云的时候出现乱码
x = x.decode('utf-8')

修改后的代码:多了.encode(‘utf-8’)

# 这里解码成utf-8格式,是为了防止后面生成词云的时候出现乱码
# x = x.decode('utf-8')
x = x.encode('utf-8').decode('utf-8')

3、报错:
line 401, in generate_from_frequencies frequencies = sorted(frequencies.items(), key=itemgetter(1), reverse=True) AttributeError: 'tuple' object has no attribute 'items'
这个错误是因为我定义的函数:def get_top_words(file_path, topn):有多个返回值,但是我去获取的时候只是单个的获取
解决办法看我下面的代码解释
①定义的函数

def get_top_words(file_path, topn):
...
...
    return top_words_with_freq,top_words_with_freq2,top_words_with_freq3,top_words_with_freq4

②获取的函数

#top_words_with_freq = get_top_words('D:/*/词云2/明朝那些事.txt', 300)#如果返回的是多个值,就只能用数组下标去对应的一个值或者用数组获取返回的所有制
top_words_with_freq = get_top_words('D:/*/词云2/明朝那些事.txt', 300)[0]

4、字体报错:中文字体乱码
自己到网上下载喜欢的字体然后放到文件夹里到时候把路径放进去
[一个下载的链接http://www.yifuhe.com/list/4.htm]

5、之前的一个错误:

raise ValueError("We need at least 1 word to plot a word cloud, " ValueError: We need at least 1 word to plot a word cloud, got 0.

报错原因:读取生成词云的词的文件为空,里面没有词语(也可能是路径写错了),添加词语就好了

二、《明朝那些事儿》词云
1、效果图片
1.1 错误的
在这里插入图片描述
1.2正确的
②有人名和地名的
在这里插入图片描述

③含有人名和地名的
在这里插入图片描述
③只含有地址的
在这里插入图片描述
④只含有人名的
在这里插入图片描述

2、背景图片
2.1用到的正确的图片
在这里插入图片描述
在这里插入图片描述
2.2用到错误的图片或者是原版的图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、具体的代码

不知道为什么昨天(2021-06-30)通知我侵权了,我只有删除源码试试了,
源码我打算放gitee,到时候直接去那上面查看,
当然评论区我也会放一下源码。

三、最后的
1、自定义词典:

明朝那些事
明朝那些事儿
明白 n
朱重八 nr
朱百六 nr
朱四九 nr
朱初一 nr
朱五四 nr
吴老太 nr 
十六岁 n
朱棣 nr
明军 n

2、《明朝那些事儿》的TXT文件下载方法
搜索框输入:明朝那些事 TXT
我所知道的下载网文的方法就是那样在搜索框输入你要的书名然后空格输入TXT
[明朝那些事儿下载的一个链接http://mingchaonaxieshierquanji.janpn.com/]
在这里插入图片描述

Guess you like

Origin blog.csdn.net/qq_43987149/article/details/118367351