腾讯云10g数字盘做网站够么,深圳建设局网站首页,什么网站做全景效果图好,网站开发asp.net我们有时候需要爬取结果生成为自定义的词云图
生成自定义的词云图通常需要以下步骤#xff1a;
1. 爬取数据#xff1a;使用爬虫工具或库#xff0c;如requests、BeautifulSoup等#xff0c;可以爬取网页、论坛、社交媒体等平台上的文本数据。
2. 数据预处理#xff1a…我们有时候需要爬取结果生成为自定义的词云图
生成自定义的词云图通常需要以下步骤
1. 爬取数据使用爬虫工具或库如requests、BeautifulSoup等可以爬取网页、论坛、社交媒体等平台上的文本数据。
2. 数据预处理对爬取到的文本数据进行清洗和处理去除无用字符、标点符号、停用词等并进行分词操作。
3. 构建词频字典统计每个词的出现频率可以使用字典或Counter类记录每个词的频率。
4. 生成词云图使用词云生成工具如wordcloud库根据词频字典生成词云图。可以根据需求设置词云的样式、颜色、形状等。 需要根据具体的需求对代码进行修改和完善如数据预处理、词频统计等。另外还可以根据需求自定义词云的样式、颜色、字体等。
需要导入的库先pip安装一下
# 导入扩展库
import re # 正则表达式库
import collections # 词频统计库
import numpy as np # numpy数据处理库
import jieba # 结巴分词
import wordcloud # 词云展示库
from PIL import Image # 图像处理库
import matplotlib.pyplot as plt # 图像展示库
from pylab import mpl # 用于处理中文乱码
读取保存到csv的爬取结果根据
# 读取文件
fn open(all_data.csv, encodingutf-8-sig) # 打开文件并编码
string_data fn.read() # 读出整个文件
fn.close() # 关闭文件# 文本预处理
pattern re.compile(u\t|\n|\.|-|:|;|\)|\(|\?|) # 定义正则表达式匹配模式
string_data re.sub(pattern, , string_data) # 将符合模式的字符去除# 文本分词
seg_list_exact jieba.cut(string_data, cut_allFalse) # 精确模式分词
object_list []
remove_words [u的, u, u和, u是, u随着, u对于, u对, u等, u能, u都, u。, u , u、, u中, u在, u了,u通常, u如果, u我们, u需要, u把, u但, u?, u!, u..., u有, u做, u大, u一个, u一些, u,u》, u, u】, u[, u【, u, u我, u你, u, u。。。, u《, u1, u/, u, u吗, u“,u这, u小, u., u#, u|, u(, u), u, u, u…, u”, u,, u不, u上] # 自定义去除词库for word in seg_list_exact: # 循环读出每个分词if word not in remove_words: # 如果不在去除词库中object_list.append(word) # 分词追加到列表# 词频统计
word_counts collections.Counter(object_list) # 对分词做词频统计
word_counts_top10 word_counts.most_common(10) # 获取前10最高频的词
print(word_counts_top10) # 输出检查# 词频展示
mask np.array(Image.open(tree.jpg)) # 定义词频背景
wc wordcloud.WordCloud(font_pathD:/Course/bilibiliHot/JiZiHeFengChiSong.ttf, # 设置字体格式maskmask, # 设置背景图max_words200, # 最多显示词数max_font_size100, # 字体最大值background_colorwhite# 设置背景颜色,默认为黑色black
)fig plt.figure(figsize(10, 8)) # 设置显示窗口大小
wc.generate_from_frequencies(word_counts) # 从字典生成词云
image_colors wordcloud.ImageColorGenerator(mask) # 从背景图建立颜色方案
wc.recolor(color_funcimage_colors) # 将词云颜色设置为背景图方案
mpl.rcParams[font.sans-serif] [SimHei]
plt.suptitle(词频分析) #这里设置中文可能会乱码需要导包
plt.imshow(wc) # 显示词云
plt.axis(off) # 关闭坐标轴
plt.show() # 显示图像
wc.to_file(result.jpg) # 无白边保存图片
# fig.savefig(result01.jpg) # 有白边保存