Python实现闲鱼商品监控,ai goofish monitor
Python编程:从新手到高手》今年7月份出的,这本书比较全面地介绍了Python的各个功能、逻辑和惯用模式,以便读者快速编写出专业、地道、实用的Python程序,非常适合新学习Python的读者,对于已经了解Python常用技巧的读者,本书也可作为辅助字典,帮助查阅一些功能具体使用方法。,输入想监控的商品,比如我输入的,自动猫砂盆,还可以输入自己预期价格区间,也可以使用AI分析功能,直接输入一段
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基础:await、gather、Future、并发与超时 -
阅读
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--
扫码即可加我微信
付费咨询、代做项目
更多推荐
所有评论(0)