# python **Repository Path**: tudaole/python ## Basic Information - **Project Name**: python - **Description**: python期末大作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-20 - **Last Updated**: 2025-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电影数据分析系统 这是一个基于 Python 爬虫和 Vue.js 的电影数据分析系统,集成了数据爬取、处理、分析和可视化展示的全流程应用。 ## 项目功能 - **数据获取**:从豆瓣和猫眼平台爬取 Top100 电影数据 - **数据处理**:合并、清洗和去重两个平台的数据 - **数据分析**:使用机器学习模型分析导演影响力和类型对评分的影响 - **数据可视化**:直观展示电影数据分布、统计和趋势 - **评分预测**:基于真实数据训练的模型预测电影评分 ## 技术栈 ### 后端/数据处理 - Python 3.8+ - 网页爬虫: requests, BeautifulSoup4, selenium, undetected_chromedriver - 数据处理: pandas (1.3.0+), numpy (1.20.0+) - 机器学习: scikit-learn (1.0.0+), 线性回归模型 - 数据可视化: matplotlib (3.4.0+), seaborn (0.11.0+) - 模型序列化: joblib (1.0.0+) ### 前端 - Vue.js 3.5.13 - Vite 6.2.4 (构建工具) - Element Plus 2.10.2 (UI 组件库) - ECharts 5.6.0 (数据可视化图表) - Axios 1.10.0 (HTTP 客户端) - Vue Router 4.5.1 (路由管理) ## 系统架构 1. **爬虫模块**: - `douban_top100.py`: 爬取豆瓣电影 Top100 数据 - `maoyan_top100.py`: 爬取猫眼电影 Top100 数据 2. **数据处理模块**: - `merge_data.py`: 合并两个平台的数据并进行清洗 3. **模型训练模块**: - `model.py`: 机器学习模型训练和评估 - `generate_model.py`: 生成模型洞察数据 4. **前端展示模块**: - Vue.js + Element Plus + ECharts 构建的可视化界面 - 提供数据筛选、分析和预测功能 ## 快速开始 ### 环境要求 - Python 3.8+ - Node.js 16+ - Chrome 浏览器 (用于 Selenium 爬虫) ### 安装步骤 1. 安装 Python 依赖 ```bash pip install -r requirements.txt ``` 2. 安装前端依赖 ```bash cd vue-dashboard npm install ``` ### 数据爬取与处理 1. 爬取豆瓣数据 ```bash python douban_top100.py ``` 2. 爬取猫眼数据 ```bash python maoyan_top100.py ``` 3. 合并数据 ```bash python merge_data.py ``` 4. 生成模型分析数据 ```bash python generate_model.py ``` 5. 链接电影海报图片(可选) ```bash node link_images.js ``` ### 启动前端应用 ```bash cd vue-dashboard npm run dev ``` 访问 [http://localhost:5173](http://localhost:5173) 查看应用界面 ## 项目特色 1. **多源数据整合**:整合豆瓣和猫眼两大平台的电影数据,提供更全面的分析视角 2. **机器学习模型**:使用线性回归模型分析导演和类型对电影评分的真实影响力 - 通过 One-Hot 编码处理导演和类型等分类特征 - 计算不同导演和电影类型对评分的影响系数 - 标准化年份和类型数量等数值特征 3. **丰富的可视化**:多种图表直观展示电影数据的分布和趋势 4. **智能评分预测**:基于历史数据训练的模型,可预测电影未来可能获得的评分 5. **数据洞察面板**:自动提取数据中的关键洞察和发现 ## 项目结构 ``` ├── douban_top100.py # 豆瓣爬虫 ├── maoyan_top100.py # 猫眼爬虫 ├── merge_data.py # 数据合并处理 ├── model.py # 机器学习模型 ├── generate_model.py # 模型数据生成工具 ├── link_images.js # 电影海报图片处理工具 ├── requirements.txt # Python依赖 ├── README.md # 项目说明 ├── douban_data/ # 豆瓣数据存储 ├── douban_images/ # 豆瓣电影海报 ├── maoyan_data/ # 猫眼数据存储 ├── maoyan_images/ # 猫眼电影海报 ├── maoyan_logs/ # 猫眼爬虫日志 └── vue-dashboard/ # 前端应用 ├── src/ # 源代码 │ ├── components/ # Vue组件 │ │ ├── MovieTable.vue # 电影列表表格 │ │ ├── DirectorChart.vue # 导演影响力图表 │ │ ├── InsightPanel.vue # 数据洞察面板 │ │ └── Predictor.vue # 评分预测器 │ ├── views/ # 页面视图 │ │ └── HomeView.vue # 主页视图 │ ├── data/ # 数据文件 │ └── assets/ # 静态资源 ├── public/ # 公共文件 └── package.json # 依赖配置 ``` ## 使用提示 1. **电影列表页面**: - 使用筛选条件过滤电影数据 - 查看满足条件的电影数量和统计信息 - 点击电影海报查看详细信息 2. **深度分析页面**: - 查看导演影响力排行 - 使用电影评分预测器输入电影信息预测可能评分 - 浏览自动生成的数据洞察和发现 ## 爬取的数据内容 系统从豆瓣和猫眼电影平台爬取以下信息: - 电影基本信息:标题、评分、排名 - 创作团队:导演、编剧、主要演员 - 电影详情:类型、制片国家/地区、语言、上映日期、片长 - 其他数据:剧情简介、IMDb 链接、评分人数 - 电影海报图片 ## 贡献者 - 小组成员:yhw、ly、whj