基于python的淘宝商品数据爬取与可视化系统
系统简介
这是一个基于Python的淘宝商品数据爬取与价格分析可视化系统,集成了数据爬取、数据存储、数据展示和可视化分析等功能。系统采用图形化用户界面,提供直观的操作体验,支持爬取和分析各类淘宝商品数据。
主要功能
🕷️ 数据爬取功能
- 支持淘宝全品类商品数据爬取(电子产品、服饰、日用品、食品等)
- 可自定义搜索关键词和爬取页数
- 实时显示爬取进度和日志
- 自动将数据保存到MySQL数据库
📊 数据展示功能
- 以表格形式展示爬取的商品数据
- 支持按关键词筛选数据
- 支持数据导出为CSV格式
📈 可视化分析功能
- 价格分布分析: 显示商品价格分布直方图
- 销量排行榜: 展示销量前N的商品和店铺
- 地区分布图: 分析商品发货地区分布
- 价格区间分析: 统计不同价格区间的商品数量
- 价格销量关系: 分析价格与销量的相关性
- 词频分析: 生成商品名称和店铺名称的高频词图表
- 价格区间饼图: 以饼图形式展示各价格段商品占比,小比例区域特殊标注
- 店铺销量饼图: 可视化展示各店铺销量占比及分布情况
⚙️ 系统设置
- 数据库连接测试和管理
- 系统信息显示
- 操作日志记录
技术栈
核心技术
- Python - 主要开发语言
- Tkinter - 图形用户界面框架
- MySQL - 数据库存储
- Requests - HTTP请求处理
- Selenium - 浏览器自动化
- BeautifulSoup - HTML解析
数据处理与分析
- Pandas - 数据处理和分析
- NumPy - 数值计算
- Matplotlib - 数据可视化
- Seaborn - 统计图表
- Jieba - 中文分词
- WordCloud - 词云生成
系统架构
crawling/ ├── config.py # 系统配置文件 ├── database.py # 数据库操作模块 ├── crawler_module.py # 爬虫模块 ├── visualization.py # 数据可视化模块 ├── data_analysis.py # 数据分析处理模块 ├── main_gui.py # 主界面程序 ├── login_gui.py # 登录注册界面 ├── user_auth.py # 用户认证模块 ├── main.py # 程序入口 ├── run.py # 快速启动脚本 ├── requirements.txt # 依赖包列表 ├── README.md # 说明文档 └── SimHei.ttf # 中文字体文件 安装和配置
1. 环境要求
- Python 3.7+
- MySQL 5.7+
2. 安装依赖
pip install -r requirements.txt 3. 数据库配置
在 config.py 文件中修改数据库配置:
DATABASE_CONFIG = { 'host': 'localhost', # MySQL服务器地址 'port': 3306, # MySQL端口 'user': 'root', # 用户名 'password': 'your_password', # 密码 'database': 'taobao_products', # 数据库名 'charset': 'utf8mb4' } 4. 启动系统
python main_gui.py 使用说明
1. 初始化数据库
- 首次使用时,在"系统设置"页面点击"初始化数据库"按钮
- 系统会自动创建数据库和必要的数据表
2. 配置Cookie
- 在"数据爬取"页面输入有效的淘宝Cookie字符串
- 点击"测试Cookie"验证Cookie是否有效
- 建议将Cookie保存到文件以便下次使用
3. 开始爬取
- 选择或输入搜索关键词(系统预置了多个品类的热门关键词)
- 设置爬取页数
- 点击"开始爬取"按钮
- 系统会实时显示爬取进度和日志信息
4. 数据查看
- 在"数据展示"页面可以查看已爬取的商品数据
- 支持按关键词筛选
- 可以导出数据为CSV格式
5. 可视化分析
- 选择相应的图表类型页面
- 选择数据源(全部数据或特定关键词)
- 点击"生成图表"按钮查看可视化结果
- 可以保存图表为图片文件
- 价格饼图中小比例区域会自动突出显示并标注
- 店铺销量饼图会展示销量前8的店铺,其他归为"其他店铺"
获取淘宝Cookie
- 打开浏览器,访问淘宝网站并登录
- 按F12打开开发者工具
- 切换到Network(网络)标签
- 在淘宝网站上搜索任意商品
- 在Network面板中找到请求,点击查看请求头
- 复制Cookie字段的完整内容
注意事项
- 请遵守淘宝网站的robots.txt和使用条款
- 适度使用,避免频繁请求造成IP被封
- Cookie会定期失效,需要及时更新
- 建议在网络良好的环境下使用
- 数据仅用于学习和研究目的
技术特点
- 模块化设计: 各功能模块相互独立,便于维护和扩展
- 异步处理: 爬虫和UI分离,避免界面冻结
- 错误处理: 完善的异常处理和用户提示
- 数据持久化: 使用MySQL数据库存储数据
- 可视化友好: 支持多种图表类型,结果直观易懂
- 智能标注: 自动识别并突出显示关键数据点
- 响应式设计: 根据数据特性动态调整可视化效果










