ai-goofish-monitor 是一个基于 Playwright 和 AI 技术的闲鱼商品监控工具。它帮助用户实时跟踪闲鱼平台的商品信息,通过 AI 分析商品详情和卖家画像,筛选出符合需求的优质商品。工具配备直观的 Web 管理界面,简化任务创建和监控流程。用户可以用自然语言描述需求,AI 自动生成筛选规则。它支持多任务并发、实时通知和高度定制化,适合需要快速找到目标商品的用户。项目开源,托管在 GitHub 上,易于安装和使用。
功能列表
- AI驱动的任务创建:用户用自然语言描述需求,AI 自动生成复杂的商品筛选规则。
- 多任务并发监控:支持同时监控多个关键词,任务独立运行,互不干扰。
- 实时商品分析:发现新商品后,立即通过 AI 分析商品图片、描述和卖家信息。
- 可视化 Web 界面:提供任务管理、日志查看和筛选规则编辑功能,无需操作命令行。
- 即时通知推送:通过 ntfy.sh 或企业微信机器人,实时推送符合条件的商品信息。
- 高度可定制化:支持为每个任务设置独立的关键词、价格范围和 AI 分析指令。
- 无头模式运行:爬虫可选择无头模式运行,减少资源占用,适合长期监控。
- PC 链接转手机链接:自动将 PC 端商品链接转换为手机端链接,提升操作便利性。
使用帮助
安装流程
- 克隆项目代码
在终端运行以下命令,将项目克隆到本地:git clone https://github.com/dingyufei615/ai-goofish-monitor cd ai-goofish-monitor
- 安装 Python 依赖
确保已安装 Python 3.8 或以上版本,然后安装项目所需依赖:pip install -r requirements.txt
- 配置环境变量
在项目根目录创建.env
文件,填入以下配置:# OpenAI API 配置 OPENAI_API_KEY="sk-..." OPENAI_BASE_URL="https://api.openai.com/v1" OPENAI_MODEL_NAME="gpt-4o" # ntfy 通知服务配置 NTFY_TOPIC_URL="https://ntfy.sh/your-topic-name" # 企业微信机器人通知(可选) WX_BOT_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx" # 浏览器配置 LOGIN_IS_EDGE=false # 是否将 PC 链接转为手机链接 PCURL_TO_MOBILE=true # 是否以无头模式运行爬虫 RUN_HEADLESS=true
OPENAI_API_KEY
:从 OpenAI 官网获取 API 密钥。NTFY_TOPIC_URL
:注册 ntfy.sh 服务后获取主题 URL,用于接收通知。WX_BOT_URL
:若使用企业微信通知,需配置企业微信机器人密钥。- 若需使用 Edge 浏览器,将
LOGIN_IS_EDGE
设为true
;若需关闭无头模式(例如遇到滑动验证码),将RUN_HEADLESS
设为false
。
- 获取闲鱼登录状态
运行登录脚本以生成会话状态文件:python login.py
脚本会打开浏览器窗口,显示闲鱼登录二维码。用闲鱼 App 扫描二维码完成登录。登录成功后,脚本自动关闭,并在项目根目录生成
xianyu_state.json
文件。此文件记录登录状态,供爬虫使用。 - 配置监控任务
编辑config.json
文件,添加监控任务。例如:[ { "keyword": "二手手机", "price_range": [500, 2000], "enable": true, "ai_prompt": "筛选成色好、卖家信誉高的手机" }, { "keyword": "笔记本电脑", "price_range": [1000, 5000], "enable": true, "ai_prompt": "优先选择轻薄本,排除翻新机" } ]
keyword
:搜索关键词。price_range
:价格范围。ai_prompt
:AI 筛选指令,支持自然语言描述。
使用 Web 界面
- 启动 Web 界面
运行以下命令启动 Web 服务:python web.py
打开浏览器,访问
http://localhost:5000
(端口号可能不同,参考终端提示)。 - 创建任务
- 在 Web 界面点击“创建任务”。
- 输入自然语言描述,例如“找一台500-2000元的二手 iPhone,成色9成新,卖家信誉好”。
- 点击“生成”,AI 自动创建筛选规则并保存到
config.json
。
- 启动监控
- 返回主界面,点击“全部启动”按钮。
- 爬虫开始监控所有启用的任务,实时日志显示在界面上。
- 查看和编辑
- 日志查看:界面实时显示爬虫运行日志,便于调试和监控。
- 规则编辑:点击任务的“编辑”按钮,直接修改 AI 筛选指令或关键词。
- 结果筛选:界面展示符合条件的商品,点击可查看商品详情或跳转闲鱼页面。
- 接收通知
- 配置好
NTFY_TOPIC_URL
后,符合条件的商品会通过 ntfy.sh 推送到手机或桌面。 - 若使用企业微信,通知会发送到指定群聊。
- 配置好
命令行运行(可选)
若不使用 Web 界面,可直接运行主爬虫脚本:
python main.py
脚本加载 config.json
中的所有任务,自动开始监控。日志输出到终端。
特色功能操作
- AI 分析:工具使用 GPT-4o 模型分析商品图片、描述和卖家信息。例如,输入“筛选信誉高的卖家”后,AI 会综合卖家历史交易记录和评价,排除风险卖家。
- 多任务管理:每个任务独立运行,互不影响。用户可随时在 Web 界面启用或停用任务。
- 实时通知:新商品上线后,AI 分析完成立即推送通知,响应时间通常在几秒内。
注意事项
- 确保网络稳定,避免登录状态失效。
- 定期检查
.env
文件中的 API 密钥和通知配置是否有效。 - 若遇到滑动验证码,建议将
RUN_HEADLESS
设为false
,手动完成验证。 - 项目依赖 Playwright,若安装失败,可参考 Playwright 官方文档解决。
应用场景
- 二手商品交易
用户想在闲鱼购买二手手机或电脑,但需要快速筛选出价格合理、成色好的商品。ai-goofish-monitor 自动监控关键词,AI 分析商品详情,推送符合条件的优质商品,节省手动筛选时间。 - 收藏品搜寻
收藏爱好者需要监控特定类别的稀有商品,如限量版手办或古董。用户可设置精确关键词和 AI 筛选规则,实时获取新上架的收藏品信息。 - 批量采购
商家需要批量采购二手设备。工具支持多任务并发,监控多个品类,AI 筛选出符合质量标准的商品,并通过通知快速告知,便于抢购。
QA
- 如何确保登录状态有效?
运行python login.py
生成xianyu_state.json
文件后,爬虫会自动使用该文件访问闲鱼。若登录失效,重新运行登录脚本更新状态。 - AI 分析准确吗?
AI 基于 GPT-4o 模型,结合商品图片、描述和卖家画像进行分析。准确性取决于用户提供的筛选指令。建议用清晰的自然语言描述需求。 - 支持哪些通知方式?
支持 ntfy.sh 推送(手机、桌面)和企业微信机器人通知。需在.env
文件中配置对应 URL。 - 可以监控多少任务?
理论上无任务数量限制,但受硬件性能影响。建议普通电脑同时运行 5-10 个任务以保证性能。 - 遇到验证码怎么办?
将.env
文件中的RUN_HEADLESS
设为false
,运行时手动完成验证码验证,之后可恢复无头模式。