标题:Python生成词云的实现方法推荐
概述:
本文将介绍使用Python生成词云的实现方法,并提供两个示例分别是基于文本文件和网页爬虫生成词云。
-
安装词云库
Python生成词云使用的主要库是wordcloud。安装方法:在命令行输入 pip install wordcloud -
加载文本
生成词云需要一些文本数据,可以从txt、Word等文档中读取。
示例1:基于文本文件绘制词云
以下是一个示例代码。首先需要用一个叫做jieba的分词库进行中文分词,然后再将分词后的结果输入给词云库来生成词云图。
#导入需要的库,其中wordcloud用于生成词云,matplotlib用于展现词云
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
#从文件中载入文本,此处载入的是当前目录下的example.txt文件
with open('example.txt', 'r', encoding='UTF-8') as f:
text = f.read()
#载入停用词,用于过滤分词结果,此处载入的是当前目录下的stopwords.txt文件
with open('stopwords.txt', 'r', encoding='UTF-8') as f:
stopwords = f.read()
#用jieba库对文本进行中文分词,参数指定使用当前目录下的停用词表
words = jieba.cut(text, cut_all=False)
words = [word for word in words if word not in stopwords]
#对分词结果进行join操作,将列表拼接成一个字符串
text = ' '.join(words)
#生成词云图
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
plt.figure(figsize=(10,8), dpi=80)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
示例2:基于网页爬虫生成词云
以下是一个示例代码,首先需要用requests库获取网页的HTML代码,然后用BeautifulSoup库去除HTML标签,再用jieba库进行中文分词,最后用wordcloud库生成词云图。
#导入需要的库,其中jupyter用于在浏览器中展示词云,requests用于获取网页HTML代码,beautifulsoup用于去除HTML标签,jieba用于中文分词,wordcloud用于生成词云
from IPython.display import display
import requests
from bs4 import BeautifulSoup
import jieba
from wordcloud import WordCloud
#获取网页HTML代码
html = requests.get('https://www.baidu.com/').text
#去除HTML标签
soup = BeautifulSoup(html, 'html.parser')
text = soup.get_text()
#用jieba库对文本进行中文分词,参数指定采用精确的方式分词
words = jieba.cut(text, cut_all=False)
#对分词结果进行join操作,将列表拼接成一个字符串
text = ' '.join(words)
#生成词云图
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
plt.figure(figsize=(10,8), dpi=80)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
以上就是Python生成词云的实现方法,通过中文分词后将结果输入到wordcloud库生成词云图。示例1是基于文本文件实现,示例2是基于网页爬虫实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python生成词云的实现方法(推荐) - Python技术站