# 🔍 易搜高 - 微信公众号文章爬虫系统 一个功能完整的微信公众号文章爬虫与自媒体监控系统,支持文章采集、数据分析、用户管理等功能。 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Go Version](https://img.shields.io/badge/go-1.24.0-blue.svg) ![Status](https://img.shields.io/badge/status-active-success.svg) ## ✨ 功能特性 ### 📱 自媒体监控系统 - **文章监控**:实时追踪公众号、头条号、百家号等平台的最新文章 - **数据分析**:统计阅读量、点赞数、评论数、分享数等关键指标 - **历史文章**:浏览和管理已采集的文章列表 - **文章详情**:查看文章完整内容、统计数据和元信息 - **用户中心**:个人信息管理、收藏夹、浏览历史 ### 🚀 爬虫系统 - **提取公众号主页**:从文章链接获取公众号主页 - **获取文章列表**:批量获取公众号所有历史文章 - **批量下载文章**:下载文章内容和图片资源 - **获取文章详情**:获取阅读量、点赞数、评论等详细数据 ### 👥 用户管理 - **用户注册/登录**:完整的用户认证系统 - **登录状态同步**:所有页面统一的登录状态管理 - **安全认证**:基于 Token 的安全认证机制 ## 🏗️ 项目架构 ``` Access_wechat_article/ ├── backend/ # 后端服务(Go) │ ├── api/ # API 接口 │ ├── cmd/ # 命令行工具 │ ├── configs/ # 配置文件 │ ├── pkg/ # 核心包 │ └── tools/ # 工具函数 ├── frontend/ # 前端页面(HTML/CSS/JS) │ ├── css/ # 样式文件 │ ├── js/ # JavaScript 文件 │ ├── frontend.html # 自媒体监控首页 │ ├── index.html # 爬虫系统页面 │ ├── login.html # 登录页面 │ ├── register.html # 注册页面 │ ├── user-center.html # 用户中心 │ ├── history-articles.html # 历史文章列表 │ └── article-detail.html # 文章详情页 ├── database/ # 数据库文件 └── data/ # 数据存储目录 ``` ## 🚀 快速开始 ### 环境要求 - **Go**: 1.24.0 或更高版本 - **Python**: 3.x(用于前端服务器) - **浏览器**: Chrome、Firefox、Edge 等现代浏览器 ### 安装步骤 1. **克隆项目** ```bash git clone cd Access_wechat_article ``` 2. **安装后端依赖** ```bash cd backend go mod download ``` 3. **启动系统** **方式一:使用启动脚本(推荐)** ```bash # Windows 系统 双击运行 "启动Web系统.bat" ``` **方式二:手动启动** ```bash # 启动 API 服务器 cd backend/api go run start_api.go # 新开终端,启动前端服务器 cd frontend python -m http.server 8000 ``` 4. **访问系统** - 前端界面:http://localhost:8000 - API 服务器:http://localhost:8080 ## 📖 使用说明 ### 1. 自媒体监控系统 访问 `http://localhost:8000/frontend.html` - **首页**:查看最新文章列表和热门内容 - **历史文章**:浏览和搜索已采集的文章 - **文章详情**:查看文章完整内容和数据分析 - **用户中心**:管理个人信息和收藏 ### 2. 爬虫系统 访问 `http://localhost:8000/index.html` #### 提取公众号主页 1. 输入公众号下任意一篇文章链接 2. 点击"提取主页链接" 3. 获取公众号主页 URL #### 获取文章列表 1. 使用 Fiddler 抓取包含认证信息的 URL 2. 粘贴完整的 Access Token URL 3. 设置获取页数(留空表示全部) 4. 点击"开始获取" #### 批量下载文章 1. 输入公众号名称或文章链接 2. 选择是否保存图片和内容 3. 点击"开始批量下载" #### 获取文章详情 1. 粘贴 Access Token URL 2. 设置获取页数 3. 点击"开始获取" 4. 数据保存在 `data/公众号名称/文章详细/` 目录 ### 3. 用户系统 #### 注册账号 1. 访问注册页面:`http://localhost:8000/register.html` 2. 填写用户名、邮箱、密码 3. 点击"立即注册" #### 登录 1. 访问登录页面:`http://localhost:8000/login.html` 2. 输入用户名和密码 3. 选择"记住我"可保持登录状态 4. 登录成功后自动跳转到首页 ## 🛠️ 技术栈 ### 后端 - **语言**: Go 1.24.0 - **HTTP 客户端**: go-resty/resty v2.17.0 - **数据库**: SQLite (modernc.org/sqlite v1.40.1) ### 前端 - **HTML5/CSS3**: 响应式布局 - **JavaScript**: 原生 JS + jQuery 3.6.0 - **UI 设计**: 渐变配色、卡片式布局、动画效果 ## 📊 API 接口 ### 用户相关 - `POST /api/user/register` - 用户注册 - `POST /api/user/login` - 用户登录 - `POST /api/user/logout` - 用户登出 - `GET /api/user/info` - 获取用户信息 ### 文章相关 - `GET /api/articles` - 获取文章列表 - `GET /api/articles/:id` - 获取文章详情 - `POST /api/articles/collect` - 收藏文章 ### 爬虫相关 - `POST /api/crawler/homepage` - 提取公众号主页 - `POST /api/crawler/articles` - 获取文章列表 - `POST /api/crawler/batch` - 批量下载文章 - `POST /api/crawler/detail` - 获取文章详情 ## 📝 注意事项 1. **网络要求**:需要稳定的网络连接访问微信公众号平台 2. **认证信息**:部分功能需要有效的 Access Token 3. **数据存储**:采集的数据保存在 `data/` 目录下 4. **浏览器兼容**:建议使用 Chrome、Firefox、Edge 等现代浏览器 5. **服务器端口**:确保 8000 和 8080 端口未被占用 ## 🔒 安全说明 - 用户密码经过加密存储 - 使用 Token 认证机制保护 API - 所有敏感操作需要登录验证 - 支持会话管理和自动过期 ## 📄 许可证 本项目仅供学习研究使用,请勿用于商业用途。 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📧 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 --- **⚠️ 免责声明**:本工具仅供学习交流使用,使用者需遵守相关法律法规和平台规则,不得用于非法用途。使用本工具产生的任何后果由使用者自行承担。