3.统计某本小说中人物出场次数,并形成词云图。(至少统计出出场次数最多的前5个人物;词云图与统计的人物次数基本一致)
时间: 2024-01-30 21:08:07 浏览: 144
好的,我可以帮您实现这个功能。首先,需要用Python爬虫爬取小说的文本内容,然后使用jieba分词库进行分词,再使用Python的collections库进行统计,最后使用wordcloud库生成词云图。
以下是代码示例:
```python
import requests
import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 爬取小说内容
url = 'https://www.xxxxxx.com/xxx.html'
res = requests.get(url)
text = res.text
# 进行分词
words = jieba.lcut(text)
# 统计人物出现次数
count = Counter()
for i in range(len(words)-1):
if words[i] == '某个人物名称':
count[words[i+1]] += 1
# 获取出现次数最多的前5个人物
top5 = count.most_common(5)
# 生成词云图
wc = WordCloud(font_path='simhei.ttf', max_words=100, width=800, height=600, background_color='white')
wc.generate_from_frequencies(dict(top5))
plt.imshow(wc)
plt.axis('off')
plt.show()
```
其中,需要替换的部分是小说内容的url和人物名称。simhei.ttf是中文字体库,需要下载并放在代码所在目录。
希望这个代码示例对您有所帮助!
阅读全文