该项目是一个功能完善的词云图生成器,支持自定义形状、多种参数配置、实时预览、文本分析和网页爬取,适用于市场调研、数据分析等场景的文本可视化工具。
- 多种形状支持:内置8种形状模板(矩形、圆形、心形、星形、云朵、菱形、三角形、椭圆),支持自定义形状图片上传
- 丰富的文本输入方式:直接文本输入、从文件导入、网页内容爬取
- 强大的文本分析:中文分词、词性分析、词语选择与过滤
- 高度可定制:图片尺寸、字体大小、颜色方案、背景设置等多种参数调节
- 实时预览:生成过程可视化,支持放大缩小操作
- 多分辨率导出:支持1x、2x、3x、4x分辨率图片导出
- 现代化GUI界面:使用tkinter构建直观易用的图形界面
- 智能网页爬取:支持登录验证、内容展开、智能内容提取
- 高性能处理:多线程处理,避免界面卡顿
- 灵活配置:通过配置文件和GUI界面双重方式调整参数
- 核心语言:Python 3.8+
- 主要依赖:
wordcloud- 词云生成核心库jieba- 中文分词库Pillow- 图像处理库numpy- 数值计算库DrissionPage- 网页爬取库
git clone git@github.com:YJY-XYYC/webCrawler.git
cd webCrawlerpip install -r requirements.txtpython wordcloud_generator.py- 输入文本:在文本输入框中直接输入文本,或从文件导入,或通过网页爬取
- 选择形状:从内置形状模板中选择,或上传自定义形状图片
- 配置参数:调整图片尺寸、字体大小、颜色方案等参数
- 生成词云:点击"生成词云图"按钮
- 预览效果:在右侧预览区域查看效果,可放大缩小
- 保存图片:调整导出分辨率,点击"保存图片"按钮
- 点击"爬取网页"按钮
- 输入网页URL
- 根据需要选择登录方式(无需登录/手动登录/Cookie登录)
- 点击"开始爬取"按钮
- 等待爬取完成,选择要提取的内容区域
- 点击"导入文本"按钮将内容导入到主界面
- 输入或导入文本后,点击"分析文本"按钮
- 在弹出的对话框中查看词语分析结果
- 按词性筛选和选择词语
- 点击"确认选择"按钮使用选中的词语生成词云
webCrawler/
├── 形状素材/ # 自定义形状图片
│ ├── 人头男.png
│ ├── 单人学士001.png
│ ├── 单人学士002.png
│ ├── 单人学士003.png
│ └── 双人学士.png
├── .gitignore # Git忽略文件
├── LICENSE # 许可证文件
├── README.md # 项目说明文档
├── requirements.txt # 依赖管理文件
├── wordcloud_config.json # 配置文件
└── wordcloud_generator.py # 主程序文件
项目使用 wordcloud_config.json 文件存储默认配置参数:
width- 图片宽度(默认800)height- 图片高度(默认600)max_words- 最大词数量(默认200)min_font- 最小字体大小(默认10)max_font- 最大字体大小(默认104)margin- 词间距(默认2)prefer_horizontal- 横向词比例(默认0.9)bg_color- 背景颜色(默认#ffffff)transparent- 是否透明背景(默认false)color_scheme- 颜色方案(默认随机配色)custom_colors- 自定义颜色列表font- 字体(默认Microsoft YaHei)stopwords- 停用词列表export_scale- 导出分辨率(默认1x)shape- 默认形状(默认自定义)
-
网页爬取:
- 法律合规:本项目涉及的网络爬虫功能仅供教学和学习使用,使用时请确保遵守相关法律法规,尊重网站的robots.txt规则,不要对网站造成过度访问压力
- 部分网站可能有反爬措施,可能导致爬取失败
- 爬取需要安装DrissionPage库
- 复杂网站可能需要手动登录
-
形状图片:
- 自定义形状图片建议使用白色背景、黑色前景的图片
- 图片分辨率不宜过高,以免影响生成速度
-
性能优化:
- 文本内容不宜过长,建议控制在10000字以内
- 最大词数量建议设置在50-300之间
-
常见问题:
- 若出现中文乱码,检查系统是否安装了指定字体
- 若爬取失败,检查网络连接和网站访问权限
本项目采用 MIT 许可证,详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request 来改进这个项目!
如有问题或建议,请联系项目维护者。
版本:v1.0.0 更新日期:2026-04-18