Thanks to visit codestin.com
Credit goes to github.com

Skip to content

just-ads/ai-goofish

Repository files navigation

闲鱼监控机器人 (Goofish Monitor)

一个基于 Playwright + FastAPI 的闲鱼商品智能监控与采集系统,支持多任务调度、Web 管理界面、结果存储与查询,适合批量监控目标商品并进行后续数据分析。


🖼️ 页面截图

1. 登录

image

2. 主页

image

📂 项目结构

.
├── src/
│   ├── config.py           # 全局配置(登录状态文件路径、运行模式等)
│   ├── spider/             # 页面解析逻辑
│   │   ├── parsers.py      # 商品与卖家数据解析
│   │   ├── spider.py       # 核心爬虫脚本,负责商品采集
│   ├── task/
│   │   ├── task.py         # 任务数据结构与管理
│   │   ├── result.py       # 爬取结果存储与查询
│   ├── server/
│   │   ├── scheduler.py    # 任务调度与运行管理
│   │   ├── server.py       # Web 服务入口,提供任务管理与结果接口
│   ├── utils/
│   │   ├── utils.py        # 工具函数
├── resources/
│   └── static/             # 前端静态资源 (Web 管理界面)

✨ 功能列表

  • 多任务并行监控
  • 支持关键词、价格区间、个人闲置等筛选条件
  • 采集商品信息与卖家完整资料
  • 爬虫过程自动防反爬处理与休眠机制
  • FastAPI 提供任务与结果管理接口
  • Web 管理界面支持任务管理与结果查看
  • 提供 Docker 镜像,一键部署
  • 接入简单的 AI 商品分析模块
  • 支持ntfy、geotify通知服务

🚀 未来计划

  • 增加 通知功能(邮件/钉钉/微信推送)
  • 支持 结果导出为 CSV/Excel

⚡ 快速开始

Docker 部署

1. 环境准备

2.拉取代码

git clone https://github.com/just-ads/ai-goofish.git

3.创建.env 并运行容器

cd ai-goofish
# 创建.env
cp .env.example .env
# 构建并运行
docker compose up --build -d

本地开发

1. 环境准备

安装依赖:

pip install -r requirements.txt
playwright install

2. 构建前端资源

cd webui
npm run build

3. 启动服务

python start.py

启动后访问(默认用户名admin,密码admin):

http://127.0.0.1:8000

登录后可在 Web 界面管理任务、启动/停止采集、查看数据。


环境变量说明

变量名 默认值 / 示例 说明
RUN_HEADLESS true 爬虫是否以无头模式运行 (true/false),本地调试可设为 false
SERVER_PORT 8000 服务运行端口,默认 8000
WEB_USERNAME admin Web 服务登录用户名
WEB_PASSWORD admin Web 服务登录密码
NTFY_TOPIC_URL `` ntfy 通知服务地址
GOTIFY_URL `` Gotify 通知服务地址
GOTIFY_TOKEN `` Gotify 通知服务地址 Token

🔄 工作流程

  1. 任务配置加载
    • tasks.json 读取启用的任务(或根据传参执行单任务)。
    • 每个任务包含关键词、页数、价格区间等筛选条件。
  2. 爬虫执行
    • 使用 Playwright 打开搜索页,模拟用户筛选条件(最新、个人闲置、价格区间)。
    • 解析搜索结果,获取商品 ID 与链接。
    • 请求详情页,采集商品信息与卖家信息。
    • 自动检测反爬虫机制,如遇拦截会进入长时间休眠并退出。
  3. 结果存储
    • 每个任务的结果以 jsonl 格式保存,避免重复写入。
    • 提供基于关键词的结果查询与删除接口。
  4. Web 管理界面
    • 登录认证基于 JWT。
    • 提供任务的增删改查、手动启动/停止、查看执行状态。
    • 结果支持分页查询与筛选。

🧩 商品AI评估流程(ProductEvaluator)

对商品进行分步骤评估,减少大量token消耗。


一、流程概述

完整流程由以下三大步骤组成:

  1. 标题筛选
    检查商品标题是否符合目标商品描述,确保分析范围正确。

    • 输入:目标商品描述 + 当前商品标题
    • 输出字段:
      • analysis: 标题匹配分析说明
      • suggestion: 建议度分数 (0–100)
      • reason: 简短中文理由
  2. 卖家信息评估
    基于卖家信息(如信誉、销量、回复率等)计算卖家可信度。

    • 输入:卖家信息(除去卖家ID)
    • 输出字段:
      • analysis: 卖家信誉分析
      • suggestion: 卖家建议度分数
      • reason: 简短中文理由
  3. 商品信息评估
    综合卖家可信度、目标商品描述与商品详情,对商品整体质量与匹配度进行分析。

    • 输入:目标商品描述 + 商品详情 + 上一步卖家分析结果
    • 输出字段:
      • analysis: 商品符合度分析
      • suggestion: 商品建议度分数
      • reason: 简短中文理由

二、评分与推荐逻辑

根据最后得分计算推荐结论:

建议度分数区间 结论文本
80–100 非常建议购买
60–79 建议购买
30–59 谨慎购买
0–29 不建议购买

最终输出示例:

{
  "推荐度": 75,
  "建议": "建议购买",
  "原因": "商家信誉较好,商品描述基本符合目标商品。"
}

💖 鸣谢

本项目在开发过程中参考了以下项目:

免责声明

本系统/平台/软件(以下简称“本服务”)所提供的内容、资料及相关信息,仅供参考与学习使用。使用者在使用本服务时,应自行判断其适用性与风险。

1. 内容准确性

本服务尽力确保所提供的信息完整、准确,但不对其及时性、可靠性或适用性作出任何保证。使用者应在依赖前进行独立验证。

2. 责任限制

因使用或无法使用本服务所导致的任何直接或间接损失、数据丢失、系统故障或其他后果,本服务提供方均不承担任何责任。

3. 第三方链接或资源

本服务可能包含第三方提供的链接、接口或资源,本服务对其内容或使用结果不作任何保证或承诺。

4. 法律遵循

使用者在使用本服务时,应遵守所在地相关法律法规,若因使用不当而违反法律规定,责任由使用者自行承担。

5. 免责声明的变更

本服务有权随时修改或更新本免责声明,修改后的内容一经公布即刻生效。

About

闲鱼监控机器人, 相比ai-goofish-monitor减少大量token消耗

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published