海外社媒数据营销爬虫平台
基于 FastAPI + Celery 架构的现代化数据采集系统,专注于爬取 Facebook/Instagram、Twitter/X、YouTube、Ti
kTok 等海外社媒平台数据,提供统一对外查询 API 和综合管理后台。
前端技术栈
- 框架: Vue3 + Composition API
- UI组件: Element Plus
- 状态管理: Pinia
- 路由: Vue Router 4
- 图表: ECharts
- 构建工具: Vite
后端技术栈
- Web框架: FastAPI (原生异步、自动生成API文档)
- 任务队列: Celery + Redis (异步任务执行、定时调度)
- 数据库: MongoDB (灵活存储非结构化社媒数据)
- 爬虫引擎: Playwright
- 数据验证: Pydantic (类型安全、数据校验)
部署技术
- 容器化: Docker + Docker Compose
- 数据库: MongoDB 7、Redis 7
- 反向代理: Nginx
1. 爬虫系统
- 模块化爬虫架构: 基于模板方法模式,支持多平台统一接口
- 反爬三层架构:
- 请求层中间件 (指纹伪装、代理轮换、频率控制、Cookie管理)
- 交互层行为模拟 (鼠标轨迹、滚动模拟、随机停顿)
- 验证码处理 (自动检测、多策略识别、人工fallback)
- 插件式扩展: 新增平台只需实现3个阶段方法 + 配置反爬策略
2. 任务调度系统
- 三种调度方式: 手动触发、定时调度、任务队列
- 任务状态管理: 实时追踪任务执行状态和进度
- 执行日志系统: 完整记录任务执行过程,支持前端查看详细时间线
3. API服务层
- 内部管理API: 数据看板、数据管理、任务监控、平台配置
- 对外查询API: 统一数据查询接口,支持分页、筛选、排序
- 统一响应格式: 标准化API响应格式和错误码体系
4. 数据管理系统
- 标准化数据模型: 统一各平台数据格式,支持版本兼容
- 数据去重: 基于平台+ID的重复数据检测
- 数据导出: 支持CSV、JSON格式导出
- 索引优化: 针对查询场景优化的MongoDB索引设计
5. 前端管理后台
- 数据看板: 统计卡片、趋势图表、平台分布、热门内容
- 数据管理: 表格展示、筛选分页、批量操作、详情查看
- 任务监控: 任务列表、创建任务、定时任务管理、实时进度
- 系统配置: 平台配置、API Key管理
1. 可扩展架构
- 爬虫基类设计: 统一接口,新增平台无需修改现有代码
- 中间件管道: 可插拔的反爬策略,按需组合
- 配置驱动: 各平台反爬策略通过配置文件管理,无需代码修改
2. 高性能设计
- 异步架构: 全链路异步处理,高并发支持
- 批量写入: 数据批量写入MongoDB,减少IO操作
- 资源隔离: Celery Worker独立进程,避免阻塞API服务
3. 可观测性
- 完整日志系统: 任务执行全过程日志记录
- 实时监控: 前端实时轮询任务状态和日志
- 错误处理: 分级错误处理和异常恢复机制
4. 数据兼容性
- 版本化数据模型: 支持数据结构演进
- 默认值机制: 新字段自动兼容旧数据
- 扩展区设计: 平台特有数据独立存储,不影响核心结构
dify英语试卷生成工作流
基于大语言模型(LLM)的英语试卷自动生成与排版系统,支持三年级至九年级共 18 种题型的全自动出卷,通过自
然语言描述即可生成专业排版的 `.docx` 试卷文档及配套听力音频。
采用三层解耦架构:Dify Chatflow 编排层负责自然语言理解与意图路由,内部扩展 JSON 作为唯一状态源在 LLM
与渲染引擎间传递数据,python-docx 渲染引擎负责最终排版输出。
核心创新——意图路由状态机:通过 LLM 识别用户每轮输入意图(首次生成 / 局部改题 / 图片迭代 / 确认输出),
按意图标签自动分发到对应子流程,支持"边生成边修改"的非线性交互,替代传统线性生成流程。
双层 JSON 设计:内部扩展 JSON 携带听力原文与图片描述等 LLM 上下文信息,通过转换节点剥离为纯净的工具 J
SON 传入渲染引擎,实现 LLM 生成与工程落地的解耦。
样式库集中管理:15 种段落样式 + 6 种图片样式统一配置,支持 A4 横向两栏专业排版、图片自适应尺寸计算。
功能模块
- 试卷生成引擎:18 种题型渲染(看图选择、判断正误、完形填空、阅