1. 引言
在数据分析和内容创作中,词云(Word Cloud)是一种非常直观的可视化方式,能够快速展示文本中的高频关键词。本文将介绍如何使用 Python 的 wordcloud 库,结合正则表达式清洗文本,生成一张符合 SEO 优化需求的词云图,帮助你在博客中更好地呈现关键词分布。
2. 环境准备
在开始之前,请确保已安装以下 Python 库:
bash
pip install wordcloud matplotlib
wordcloud:用于生成词云图。matplotlib:用于显示和保存图片。
3. 核心代码实现
下面是一段完整的示例代码,演示如何从一段文本中提取关键词并生成词云图:
python
import re
from wordcloud import WordCloud # 词云库
import matplotlib.pyplot as plt # 用于绘制图片
# 假设 result_str 是待分析的文本内容
result_str = "这里是你的文本内容,可以是从网页、文件或数据库中获取的字符串。"
# 移除方括号中的内容(例如引用标记、注释等)
text = re.sub(r'\[.*?\]', '', result_str)
# 可选:将清洗后的文本保存到临时文件, 我是从文件读取的,文字内容为我的一篇博客打开后粘贴到文本文件中。
# open("temp/temp.txt", "w", encoding="utf-8").write(text)
# 生成词云
wc = WordCloud(
font_path="img/font.ttc", # 指定中文字体路径
width=1920,
height=1080,
background_color="white"
).generate(text)
# 显示词云图
plt.imshow(wc)
plt.axis("off") # 隐藏坐标轴
plt.show()
# 可选:保存词云图为图片文件
# wc.to_file("wordcloud_output.png")
4. 代码说明
- 正则清洗 :
re.sub(r'\[.*?\]', '', result_str)用于移除文本中所有方括号及其内部内容,避免干扰关键词统计。 - 字体设置 :
font_path="img/font.ttc"指定中文字体文件路径,确保中文能够正确显示。如果字体缺失,可替换为系统字体路径。 - 图片尺寸 :
width=1920, height=1080设置输出图片的分辨率,适合作为博客封面或配图。 - 背景颜色 :
background_color="white"可根据需要改为其他颜色,如"black"。
生产的图云【】:
