一句话总结
我做了一个完整的 AI 数据处理系统:
自动抓取网页数据 → AI分析 → API服务 → 可视化展示
不是简单爬虫,而是一个小型数据平台。
📌 为什么做这个项目
大多数爬虫项目的问题是:
- 只停留在“抓数据”
- 没有后续处理
- 没有展示层
- 更没有 AI 参与
但真实工程里,数据的价值在于:
处理 + 分析 + 使用,而不是采集本身
所以我做了这个:
👉 把“爬虫”升级成一整套系统
🧠 系统整体架构
整个流程是这样的:
Playwright → 数据清洗 → AI增强 → FastAPI → Streamlit Dashboard
拆开就是:
- 浏览器自动化采集数据
- 结构化处理
- AI做语义分析
- 提供API服务
- 可视化展示
🌐 1. 浏览器自动化(Playwright)
我用 Playwright 做数据采集:
- 自动打开网页
- 处理分页
- 提取结构化数据
每条数据包含:
- quote文本
- 作者
- 标签
- 页码
示例:
{
"page": 1,
"author": "Albert Einstein",
"text": "The world as we have created it is a process of our thinking.",
"tags": ["thinking", "world"]
}
📊 2. 数据分析模块
在基础数据上,我做了统计分析:
- 总数据量
- Top作者
- Top标签
- 每页分布
核心就是:
Counter(...)
但重点不是技术,而是:
把数据变成“信息”
🤖 3. AI增强(核心升级点)
这一块是这个项目的关键。
我给每条数据加了三层语义:
- AI Theme(主题)
- Sentiment(情感)
- Tone(语气)
例如:
{
"ai_theme": "deep-thoughts",
"sentiment": "neutral",
"tone": "philosophical"
}
👉 从“字符串”变成“可理解的数据”
这一步让项目从:
普通爬虫 → AI数据系统
🔌 4. FastAPI 后端
我用 FastAPI 做了一层 API 服务:
/quotes→ 返回所有数据/analysis→ 返回统计结果
并且自带:
👉 Swagger 文档(可直接测试)
http://127.0.0.1:8000/docs
🎨 5. 可视化 Dashboard(Streamlit)
最后一层是展示。
做了一个交互式 Dashboard:
功能包括:
- 总览指标(总数 / Top作者 / Top标签)
- Top作者 / 标签柱状图
- AI主题分布
- 情感分布
- 分页折线图
还有一个很实用的功能:
👉 搜索 + 过滤
可以按:
- 作者筛选
- 文本搜索
- 标签 / AI主题搜索
🛠 技术栈
- Python
- Playwright(爬虫)
- FastAPI(后端)
- Streamlit(前端)
- JSON(数据存储)
- LLM(AI增强)
🧩 项目结构
app/
crawler/
analyzer/
api/
ui/
data/
🚀 我觉得这个项目的价值
这个项目让我第一次把这些东西串起来:
- 爬虫
- 数据处理
- AI
- 后端
- 前端
以前是“会一点点”
现在是:
能搭一整套系统
❗ 还能怎么优化
如果继续做下去,我会加:
- 数据库(PostgreSQL)
- 向量检索(RAG)
- 对话式查询
- 多站点支持
- Docker部署
🎯 最后
这个项目让我意识到:
写代码不重要
搭系统才重要
👩💻 作者
Catherine