Files
yixiaogao/README.md
2025-12-02 14:58:52 +08:00

6.1 KiB
Raw Permalink Blame History

🔍 易搜高 - 微信公众号文章爬虫系统

一个功能完整的微信公众号文章爬虫与自媒体监控系统,支持文章采集、数据分析、用户管理等功能。

License Go Version Status

功能特性

📱 自媒体监控系统

  • 文章监控:实时追踪公众号、头条号、百家号等平台的最新文章
  • 数据分析:统计阅读量、点赞数、评论数、分享数等关键指标
  • 历史文章:浏览和管理已采集的文章列表
  • 文章详情:查看文章完整内容、统计数据和元信息
  • 用户中心:个人信息管理、收藏夹、浏览历史

🚀 爬虫系统

  • 提取公众号主页:从文章链接获取公众号主页
  • 获取文章列表:批量获取公众号所有历史文章
  • 批量下载文章:下载文章内容和图片资源
  • 获取文章详情:获取阅读量、点赞数、评论等详细数据

👥 用户管理

  • 用户注册/登录:完整的用户认证系统
  • 登录状态同步:所有页面统一的登录状态管理
  • 安全认证:基于 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. 克隆项目
git clone <repository-url>
cd Access_wechat_article
  1. 安装后端依赖
cd backend
go mod download
  1. 启动系统

方式一:使用启动脚本(推荐)

# Windows 系统
双击运行 "启动Web系统.bat"

方式二:手动启动

# 启动 API 服务器
cd backend/api
go run start_api.go

# 新开终端,启动前端服务器
cd frontend
python -m http.server 8000
  1. 访问系统

📖 使用说明

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
  • 发送邮件

⚠️ 免责声明:本工具仅供学习交流使用,使用者需遵守相关法律法规和平台规则,不得用于非法用途。使用本工具产生的任何后果由使用者自行承担。