6.1 KiB
6.1 KiB
🔍 易搜高 - 微信公众号文章爬虫系统
一个功能完整的微信公众号文章爬虫与自媒体监控系统,支持文章采集、数据分析、用户管理等功能。
✨ 功能特性
📱 自媒体监控系统
- 文章监控:实时追踪公众号、头条号、百家号等平台的最新文章
- 数据分析:统计阅读量、点赞数、评论数、分享数等关键指标
- 历史文章:浏览和管理已采集的文章列表
- 文章详情:查看文章完整内容、统计数据和元信息
- 用户中心:个人信息管理、收藏夹、浏览历史
🚀 爬虫系统
- 提取公众号主页:从文章链接获取公众号主页
- 获取文章列表:批量获取公众号所有历史文章
- 批量下载文章:下载文章内容和图片资源
- 获取文章详情:获取阅读量、点赞数、评论等详细数据
👥 用户管理
- 用户注册/登录:完整的用户认证系统
- 登录状态同步:所有页面统一的登录状态管理
- 安全认证:基于 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 等现代浏览器
安装步骤
- 克隆项目
git clone <repository-url>
cd Access_wechat_article
- 安装后端依赖
cd backend
go mod download
- 启动系统
方式一:使用启动脚本(推荐)
# Windows 系统
双击运行 "启动Web系统.bat"
方式二:手动启动
# 启动 API 服务器
cd backend/api
go run start_api.go
# 新开终端,启动前端服务器
cd frontend
python -m http.server 8000
- 访问系统
- 前端界面:http://localhost:8000
- API 服务器:http://localhost:8080
📖 使用说明
1. 自媒体监控系统
访问 http://localhost:8000/frontend.html
- 首页:查看最新文章列表和热门内容
- 历史文章:浏览和搜索已采集的文章
- 文章详情:查看文章完整内容和数据分析
- 用户中心:管理个人信息和收藏
2. 爬虫系统
访问 http://localhost:8000/index.html
提取公众号主页
- 输入公众号下任意一篇文章链接
- 点击"提取主页链接"
- 获取公众号主页 URL
获取文章列表
- 使用 Fiddler 抓取包含认证信息的 URL
- 粘贴完整的 Access Token URL
- 设置获取页数(留空表示全部)
- 点击"开始获取"
批量下载文章
- 输入公众号名称或文章链接
- 选择是否保存图片和内容
- 点击"开始批量下载"
获取文章详情
- 粘贴 Access Token URL
- 设置获取页数
- 点击"开始获取"
- 数据保存在
data/公众号名称/文章详细/目录
3. 用户系统
注册账号
- 访问注册页面:
http://localhost:8000/register.html - 填写用户名、邮箱、密码
- 点击"立即注册"
登录
- 访问登录页面:
http://localhost:8000/login.html - 输入用户名和密码
- 选择"记住我"可保持登录状态
- 登录成功后自动跳转到首页
🛠️ 技术栈
后端
- 语言: 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- 获取文章详情
📝 注意事项
- 网络要求:需要稳定的网络连接访问微信公众号平台
- 认证信息:部分功能需要有效的 Access Token
- 数据存储:采集的数据保存在
data/目录下 - 浏览器兼容:建议使用 Chrome、Firefox、Edge 等现代浏览器
- 服务器端口:确保 8000 和 8080 端口未被占用
🔒 安全说明
- 用户密码经过加密存储
- 使用 Token 认证机制保护 API
- 所有敏感操作需要登录验证
- 支持会话管理和自动过期
📄 许可证
本项目仅供学习研究使用,请勿用于商业用途。
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📧 联系方式
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 发送邮件
⚠️ 免责声明:本工具仅供学习交流使用,使用者需遵守相关法律法规和平台规则,不得用于非法用途。使用本工具产生的任何后果由使用者自行承担。