源码系统概览
文章正文
闲鱼智能监控机器人是一个基于 Playwright 与 AI 多模态分析的闲鱼多任务实时监控工具,配备功能完善的 Web 管理界面,能够按关键词持续扫描闲鱼商品并借助大模型自动筛选符合需求的宝贝。
项目以 FastAPI 作为后端服务,前端采用 Jinja2 模板与原生 JavaScript,配合 Playwright 异步爬虫与 OpenAI 兼容接口,实现从搜索、截图、AI 分析到通知推送的完整闭环。
源码简介
web_server.py 是 FastAPI 主程序,挂载 /static 静态资源与 /templates 模板,并定义了任务管理、结果查看、运行日志、系统设置、Prompt 在线编辑等一组 RESTful 路由。
spider_v2.py 是核心爬虫,加载 config.json 中的多任务并发运行,发现新商品后抓取图文与卖家画像,调用 AI 进行分析并以 ntfy 推送推荐结果,最终写入 jsonl 记录。
prompt_generator.py 负责把自然语言的购买需求转换成结构化的 AI 分析标准文件;login.py 用扫码方式获取闲鱼登录态并保存为 xianyu_state.json;prompts 目录存放各任务的筛选指令。
适用场景
个人买家希望在第一时间发现符合预算与成色要求的闲鱼宝贝,并借助 AI 自动过滤商家与贩子的场景。
需要同时盯多个关键词、且希望结果能推送到手机或桌面的重度闲鱼用户。
想通过可视化后台而不是命令行管理监控任务、在线调整 AI 分析逻辑的运维或研究人员。
功能亮点
支持用自然语言描述需求一键创建复杂筛选逻辑的监控任务,降低使用门槛。
多任务并发独立运行,各任务拥有独立关键词、价格区间、AI 分析 Prompt 与启停状态。
集成多模态大模型对商品图文与卖家画像做深度分析,结合反爬随机延迟模拟真人操作提高稳定性。
支持 ntfy 与企业微信机器人通知,并提供 Docker 与 docker-compose 一键部署,Web 界面可实时查看日志与结果筛选。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 前端:Jinja2 模板(templates/index.html)+ 原生 JavaScript(static/js/ | 依具体方案选型,需自行搭建与维护 |
| 部署方式 | 先 pip install -r requirements.txt 并运行 playwright install chr | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | 支持用自然语言描述需求一键创建复杂筛选逻辑的监控任务,降低使用门槛。 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
前端:Jinja2 模板(templates/index.html)+ 原生 JavaScript(static/js/main.js)
后端:Python3 + FastAPI + Uvicorn + Playwright(异步)
数据库:无(任务配置用 config.json,结果用 jsonl 文件存储)
运行环境:Python 3.10+,Windows / Linux,需先运行 login.py 扫码登录获取状态文件
其他依赖:fastapi、uvicorn、playwright、openai、jinja2、aiofiles、python-dotenv、python-socks
安装与部署提示
先 pip install -r requirements.txt 并运行 playwright install chromium 安装浏览器;在项目根目录创建 .env 填入 OPENAI_API_KEY、OPENAI_BASE_URL、OPENAI_MODEL_NAME 及 ntfy/企业微信通知地址。
运行 python login.py 扫码登录生成 xianyu_state.json,再执行 python web_server.py 启动后台(默认 8000 端口),浏览器打开即可管理任务。
Docker 部署请先在本机完成 login.py 生成状态文件,再用 docker-compose up -d 启动,容器内以无头模式运行;国内访问海外模型需配置 PROXY_URL 代理。
截图与演示说明
后台任务管理页面(templates/index.html + static/js/main.js)提供任务列表、创建弹窗与启停控制,对应 /api/tasks 系列路由。
结果查看页面以图文卡片展示符合条件的商品,并提供仅看 AI 推荐的一键筛选,对应 /api/results 路由与 jsonl 数据。
运行日志页面实时展示爬虫日志,系统设置页面可检查 .env 与登录态并直接编辑 prompts 目录下的分析指令。
常见问题
问:运行脚本报 gb2312 或 gbk 编码错误怎么办?
这是 Windows 默认编码问题,可在运行前设置环境变量 PYTHONUTF8=1 或执行 chcp 65001 切换为 UTF-8 代码页后再运行。
问:被闲鱼识别为异常流量要求滑块验证如何处理?
可在 .env 中将 RUN_HEADLESS 设为 false,出现验证码时手动完成验证;同时降低监控频率、使用干净网络环境以减少被风控的概率。
安全风险提示
特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!
下载说明
源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。
本工具通过扫码连接闲鱼账号并采集商品与卖家公开数据用于本地分析,请严格遵守闲鱼用户协议,仅用于个人学习研究,勿高频请求或用于违规用途。
AI 分析依赖第三方大模型 API Key,相关密钥请妥善保管,避免泄露造成资损。
