# stock-sentiment **Repository Path**: thinkinapp/stock-sentiment ## Basic Information - **Project Name**: stock-sentiment - **Description**: 根据股票代码,点市场情绪,近期这股股行业的一些新闻和个股新闻,判断是利好还是利空 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票新闻情绪分析系统 基于 Vue 3 + Node.js 的股票新闻情绪挖掘与分析平台。 ## 功能 - 输入股票代码,自动抓取多源新闻(财联社/东方财富/NeoData) - 情绪定量评分(-100 至 +100)+ 定性理由输出 - 新闻按利好/利空分类过滤 - 情绪仪表盘可视化 - 时间衰减权重算法 ## 技术栈 - 前端:Vue 3 + Vite - 后端:Node.js + Express + SQLite(better-sqlite3) - 进程管理:PM2 ## 快速启动 ### 方式一:双击 bat 文件 直接双击 `启动系统.bat`,自动启动前后端并打开浏览器。 ### 方式二:命令行 ```bash # 安装依赖 cd backend && npm install cd ../frontend && npm install # 启动后端(PM2) npx pm2 start ecosystem.config.js # 启动前端 cd frontend && npm run dev ``` 访问:http://localhost:8088 ## 环境要求 | 软件 | 版本 | 说明 | |---|---|---| | **Node.js** | ≥ 18.x | 前端构建 + 后端运行 | | **Python** | ≥ 3.12 | NeoData 新闻采集脚本依赖 | | **npm** | ≥ 9.x | 包管理器(Node.js 自带) | | **PM2** | 最新版 | 后端进程管理(`npm install -g pm2`) | > ⚠️ NeoData 采集脚本为 Python 实现,**必须安装 Python 3.12+** 才能正常抓取财联社/东方财富等新闻源。 ## 项目结构 ``` stock-sentiment/ ├── backend/ # Express API 服务(端口 8089) │ ├── server.js # 主入口,路由 │ ├── db.js # SQLite 数据库操作 │ ├── news-fetcher.js # 多源新闻抓取 │ ├── sentiment.js # 情绪评分算法 │ └── stock-info.js # 股票名称解析 ├── frontend/ # Vue 3 前端(端口 8088) │ └── src/App.vue # 主界面 ├── test/ # 测试脚本和测试数据 │ ├── test_info.js # 股票信息测试 │ ├── test_quick.js # 快捷列表测试 │ ├── test_sentiment.js # 情绪评分测试 │ ├── test_stock.js # 股票查询测试 │ ├── latest.png # UI 截图 │ └── playwright/ # Playwright 自动化测试数据 ├── ecosystem.config.js # PM2 配置 └── 启动系统.bat # 一键启动 ``` ## 部署说明 ### 1. 安装依赖 ```bash # 克隆代码后,进入项目目录 cd stock-sentiment # 安装后端依赖(Node.js) cd backend && npm install # 安装前端依赖(Node.js) cd ../frontend && npm install ``` ### 2. 配置 NeoData(Python 采集脚本) NeoData 新闻采集依赖 Python 环境,首次使用需配置: ```bash # 安装 Python 依赖(如 requests、beautifulsoup4 等) pip install requests beautifulsoup4 lxml ``` > 具体依赖请参考 `backend/` 下各 `.js` 文件中对 Python 脚本的调用方式,NeoData 脚本路径和参数在 `news-fetcher.js` 中配置。 ### 3. 启动后端(PM2) ```bash # 全局安装 PM2(如未安装) npm install -g pm2 # 启动后端服务 cd backend npx pm2 start ecosystem.config.js # 查看运行状态 npx pm2 status # 查看日志 npx pm2 logs stock-sentiment-api ``` ### 4. 启动前端 ```bash cd frontend npm run dev ``` 访问:http://localhost:8088 ### 5. 停止服务 ```bash # 停止后端 npx pm2 stop stock-sentiment-api # 或使用一键停止脚本 ./stop.bat ``` ### 6. 云端部署(TCB/SCF) 后端部署到腾讯云 SCF 时,需注意: - `npm install` 在 SCF 构建时自动执行(从 `package.json` 读取依赖) - Python 脚本(NeoData)需在 SCF 层单独处理或替换为纯 Node.js 实现 - 环境变量配置到 TCB/SCF 控制台