ai-goofish-monitor闲鱼商品监控

大家好,我是老表,好久不见。今天给大家分享一个蛮实用的开源工具:闲鱼商品监控,可以根据商品搜索关键词定时爬取相关商品信息,然后使用AI对商品信息、商家信息、图片内容分析,找出满足用户需求的商品。

开源项目地址:https://github.com/Usagi-org/ai-goofish-monitor

本文会从无编程基础读者角度去分享该工具使用方法,希望对大家生活有所帮助。

第一步就是访问上面开源项目地址链接下载项目代码,如下图,点击Code--Download ZIP。 注:如果你哦

当然,你也可以在公众号后台回复:闲鱼监控,直接获取这个项目zip包。

环境配置

Python环境安装

本教程我们使用conda来管理Python环境,如果你还没安装过conda,请先点击查看这篇文章学习conda安装使用相关知识。

在本地新建一个Terminal或者CMD,并且进入我们上面解压的项目路径下,然后依次输入以下指令,即可创建一个 Python 3.12 环境,并安装项目需要的Python环境。

conda create -n pj python=3.12
conda activate pj
pip install -r requirements.txt

环境变量设置

首先复制出一份环境变量存放文件到 .env 文件,因为项目使用 dotenv 包读取管理环境变量,dotenv 会自动读取项目目录下名为 .env 的文件内容,根据格式将数据解析存入系统环境变了,所以环境变量数据要写入一个 .env 文件。

ln 指令的作用是创建一个软连接,因为 .env 是一个隐藏文件,没法双击打开修改,我们创建一个软连接到 env_file,我们就可以在项目目录下看到 env_file 文件,并双击打开修改文件内容了。

cp .env.example .env
ln -sf .env env_file

环境变量里有很详细的解释说明,我们需要配置的主要有以下几个环境变量,如果使用AI分析需要配置 OPENAI_API_KEY、OPENAI_BASE_URL、OPENAI_MODEL_NAME,另外就设置服务端口号和默认的账号密码。

# 模型的API Key。
OPENAI_API_KEY="sk-..."
# 模型的API接口地址。这里需要填写服务商提供的、兼容OpenAI格式的API地址,基本所有模型都有提供OpenAI格式兼容的接口
OPENAI_BASE_URL="https://xxxx/v1"

# 使用的模型名称,模型需要支持图片上传。
OPENAI_MODEL_NAME="gemini-2.5-pro"

# 服务端口自定义 不配置默认8000
SERVER_PORT=8000

# Web服务认证配置
WEB_USERNAME=admin
WEB_PASSWORD=admin123

闲鱼登录信息获取

首先需要在谷歌浏览器里安装下面这个插件,用于自动获取 闲鱼登录信息。

# 闲鱼登录状态提取扩展
https://chromewebstore.google.com/detail/xianyu-login-state-extrac/eidlpfjiodpigmfcahkmlenhppfklcoa

然后浏览器访问闲鱼web版本,并登录,登录完成后点击右上角前面安装的拓展获取闲鱼登录信息。

# 闲鱼 Web 界面
https://www.goofish.com

运行程序

输入以下指令启动闲鱼监控程序,运行成功后会显示以下内容。

python web_server.py

浏览器访问http://localhost:8000,然后输入前面环境变量设置里设置的账号密码登录,登录后,点击右上角的闲鱼未登录按钮,将前面复制的闲鱼登录状态文本贴入,最后点击保存完成登录状态同步。

使用

点击创建新任务,输入想监控的商品,比如我输入的,自动猫砂盆,还可以输入自己预期价格区间,也可以使用AI分析功能,直接输入一段话描述需求。

运行起来后,到查看结果介面就可以看到爬取的结果,和AI分析结果。

还可以在运行日志介面查看具体的运行输出情况。

FAQs

默认的模板不能删除,不然可能出现下面类似错误。

最后说点话

这个项目完全使用Python语言实现,涵盖了Python Web开发、爬虫、反爬虫、数据分析等内容,非常使用想要学习Python或者热爱Python的读者作为一个学习案例,以下为核心代码功能介绍。

  • spider_v2.py:批量任务、异步抓取、可选 AI 分析、通知

  • web_server.py:FastAPI,提供任务管理、调用 AI 生成筛选标准等接口

  • src/scraper.py:基于 Playwright 的异步爬虫流程(搜索→翻页→详情→卖家资料)

  • src/ai_handler.py:下载图片、组装提示词、发起 AI 分析、通知(ntfy/Gotify/Bark/Webhook)

  • src/parsers.py:解析接口返回(搜索结果、详情、评价等)

  • src/config.py:环境变量与客户端初始化(OpenAI、代理、运行参数),开关如 SKIP_AI_ANALYSIS

  • src/utils.py:工具函数(随机等待、去重 Key、JSONL 持久化等)

  • prompts/base_prompt.txt + 业务标准模板,组合生成实际 AI prompt

适合 Python 入门者的学习路径(循序渐进)

  • 第一阶段:读懂“骨架”,能跑通

    • 准备 .env,先设置 SKIP_AI_ANALYSIS=true,跑 python spider_v2.py

    • 观察输出与 jsonl/ 结果,确认流程全通

    • 依次阅读:README.md → requirements.txt → src/config.py → src/utils.py → spider_v2.py

    • 实操:

  • 第二阶段:掌握异步与抓取

    • 把“每页延迟”等参数外置成配置项

    • 将“反爬检测”日志改为统一函数输出(初步重构)

    • 学习 asyncio 基础:awaitgatherFuture、并发与超时

    • 阅读 src/scraper.py 的分页、监听响应、选择器交互;了解 Playwright 常用 API

    • 小练习:

  • 第三阶段:数据解析与清洗

    • 给解析函数添加类型注解和简单断言

    • 给解析结果加一个新字段(如价格区间标签)

    • 阅读 src/parsers.py,看如何从 JSON 提取字段、合并结构

    • 小练习:

  • 第四阶段:AI 与通知(可选进阶)

    • 阅读 src/ai_handler.py,理解图片转 Base64、消息组装、OpenAI 客户端调用

    • 先在 SKIP_AI_ANALYSIS=true 下,尝试仅发送通知(改通知模板或通道)

    • 再配置 .env 启用 AI,观察 ai_analysis 字段结构,试着做一次 prompt 的小改造

  • 第五阶段:服务化与测试

    • 为 utils.save_to_jsonl 或解析函数补一两个测试

    • 将大量 print 替换为 logging 并配置日志格式

    • 阅读 web_server.py 的路由与数据流,理解 FastAPI 基本用法

    • 跑 tests/ 下的测试,用 pytest -q 运行

    • 小练习:

最后,如果你需要OPENAI API Token,可以私聊我微信(wx:pythonbrief),可以免费提供1-5美元额度API供大家测试使用。(额度有限)

好书推荐

《Python编程:从新手到高手》今年7月份出的,这本书比较全面地介绍了Python的各个功能、逻辑和惯用模式,以便读者快速编写出专业、地道、实用的Python程序,非常适合新学习Python的读者,对于已经了解Python常用技巧的读者,本书也可作为辅助字典,帮助查阅一些功能具体使用方法。

加入读书会: (扫下放二维码加我微信,备注:老表读书会)

点赞 在看 留言 转发 ,四连支持,原创不易。好的,那么下期见,我是爱猫爱技术,更爱思思的老表啊⁽⁽ଘ( ˙꒳˙ )ଓ⁾⁾

--END--

扫码即可加我微信
付费咨询、代做项目
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐