ai-goofish-monitor 闲鱼监控登录状态一键采集新手指南:5 分钟跑通
【免费下载链接】ai-goofish-monitor基于 Playwright 和AI实现的闲鱼多任务实时/定时监控与智能分析系统,配备了功能完善的后台管理UI。帮助用户从闲鱼海量商品中,找到心仪产品。项目地址: https://gitcode.com/GitHub_Trending/ai/ai-goofish-monitor
ai-goofish-monitor 是一套基于 Playwright(能自动驱动浏览器、模拟真人点击与翻页的自动化框架)的闲鱼监控工具。想让它真正跑起来,最先绊住人的不是写代码,而是怎么弄到一份有效的闲鱼登录状态。这篇指南带你用项目内置的 Chrome 扩展一键采集登录态,前后大约 5 分钟;最容易被忽略的卡点,是"扩展只认当前 goofish.com 页面"这条硬规则。
为什么"登录态"会卡住每一个新手
你在自己浏览器里登着闲鱼,点搜索、翻商品都正常;可监控任务用的是 Playwright 现开的全新浏览器,那个窗口里干干净净,压根不知道你是谁。闲鱼的搜索接口和商品详情接口都靠 cookie 认人,凭证没带进去,任务一启动就是登录失效、搜不到东西。
xianyu_state.json就是补上这一环的那把钥匙:它把你真实浏览器里的登录凭证原封不动地搬进项目目录,监控任务启动时直接加载它,相当于"带着你的身份去逛闲鱼"。凭证到位后,搜索、翻页、抓详情都能正常走,触发风控的概率也明显下降。后面如果看到"采集失败""登录态过期"这类报错,八成都跟这一步有关。
上图是登录态就位后的监控概览页:任务、已扫描商品数、推荐结果和价格曲线都会在这里实时刷新。而这一切的前提,是先拿到那份登录态文件。
一次采集,扩展到底搬走了哪些东西
弹窗里那一次"采集",背后是扩展的 service worker(Chrome 扩展常驻后台的小程序,负责真正干活)在执行,对应 chrome-extension/background.js。它一次抓了四类东西,拼成一份带capturedAt、cookies、headers、env、storage等字段的 JSON:
- cookie:走
chrome.cookiesAPI 把.goofish.com域下的 cookie 全量读出来,每条都带httpOnly、secure、sameSite标志和过期时间。HttpOnly cookie 是一种标记了"页面脚本不许碰"的凭证,普通 JavaScript 根本读不到它,只有拿到扩展权限才能导出——正因为能连这部分一起带走,登录态才是完整的; - 请求头:监听 goofish.com 的真实请求,只留下 user-agent、referer、sec-ch-ua 这类环境头,让模拟请求的"长相"更接近真实浏览器;
- 浏览器指纹:userAgent、语言、时区、屏幕尺寸、devicePixelRatio 等信息,降低被判定为自动化的可能;
- 本地存储:localStorage / sessionStorage 的快照,超过 4096 字节的条目会自动丢弃,避免文件体积失控。
所以导出的不是一张"cookie 清单",而是一整份"浏览器现场快照"。监控任务加载之后,它的行为会比裸脚本更像一个真人。
环境准备:把项目拉到本地
装扩展前,先克隆仓库(扩展源码就在仓库的chrome-extension/目录里):
git clone https://gitcode.com/GitHub_Trending/ai/ai-goofish-monitor加载未打包扩展的 30 秒步骤
装法很直白,全程在 Chrome 里完成:
- 地址栏输入
chrome://extensions回车,进入扩展管理页; - 打开右上角的"开发者模式"开关;
- 点"加载已解压的扩展程序",选中刚克隆下来的
chrome-extension文件夹; - 浏览器工具栏出现扩展图标,就说明装好了。
两次点击,采出完整登录状态 JSON
顺序不能乱,先登录再点按钮:
- 打开 goofish.com,完成扫码登录,让页面停在闲鱼站内任意一个页面。这一步别省——扩展会校验当前活动标签页必须属于 goofish.com 域名,否则直接抛出"请先打开 goofish.com 页面"的报错;
- 点工具栏的扩展图标,在弹出面板里点"1.点击获取环境+登录状态",状态区先提示"正在采集浏览器环境与登录状态...",等一两秒变绿、变成"采集完成,已生成JSON";
- 再点下面的"2.点击复制",整份 JSON 进剪贴板,状态区显示"已复制到剪贴板"。
让登录态真正落盘:两种方式任选
- 手动建文件:在项目根目录新建
xianyu_state.json,把剪贴板里的 JSON 粘进去保存。项目默认读的就是这个文件名,定义在 src/config.py 的STATE_FILE;如果你改了文件名,记得把对应配置一起改掉; - 界面提交:启动服务后,后台 UI 提供了把登录态 JSON 直接交给后端的入口,接口会先校验 JSON 是否合法,再写入文件(见 src/api/routes/login_state.py),省去了手动建文件的麻烦。
存好之后重启一次服务,到后台"账号管理"里确认账号状态变为已登录,再回任务列表挑一个任务点启动,登录态这一步就算彻底打通了。
这份 JSON 凭什么让风控"看不出是机器人"
回到前面那份快照。风控系统判断"是不是真人",很少只看 cookie 对不对,它更在意请求整体长什么样:浏览器指纹(userAgent、屏幕、时区、语言)对不对得上,请求头里 sec-ch-ua、referer 这些字段齐不齐,本地存储里该有的会话痕迹在不在。扩展把这些一并抓下来,监控任务加载快照后发出的请求,从指纹到请求头都更接近一个正常浏览器,被识别为自动化的概率自然就低了。这也是为什么单导一份 cookie 列表不够,而要导一整份"现场"。
采不到 / 采错了?按报错对号入座
- 报"不是有效的 JSON":问题多半出在复制环节。点复制前先确认状态区已经显示"已复制到剪贴板",再把内容粘进纯文本编辑器扫一眼——多出一行说明文字,或者引号被输入法换成全角,都会让解析失败;
- 弹出"请先打开 goofish.com 页面":扩展只认当前活动标签页是 goofish.com 域名。回到闲鱼站内任意页面再点一次按钮,别在别的站点上采;
- 采到了,任务一启动却提示登录失效:多半是采集时账号根本没登录,或登录态已经过期。重新扫码登录、确认登录后再采一次,别复用旧文件。
把凭证锁进保险箱
最后说点安全的事:这份 JSON 本身就等于你账户的钥匙。别把它贴到群里、发给同事,更别提交进任何公开仓库。等到登录态过期或换了账号,回到后台把旧的登录态删掉,同时手动清理掉残留的xianyu_state.json,避免旧凭证一直留在本地。
下一步:把第一次监控跑起来
现在去后台的账号 / 登录态入口,把刚采好的 JSON 提交保存,确认状态变绿后,切到任务管理页挑一个任务点"启动"。第一次监控跑起来、看到推荐结果刷新出来的那一刻,这套闲鱼监控系统就算真正在你手里转起来了。
【免费下载链接】ai-goofish-monitor基于 Playwright 和AI实现的闲鱼多任务实时/定时监控与智能分析系统,配备了功能完善的后台管理UI。帮助用户从闲鱼海量商品中,找到心仪产品。项目地址: https://gitcode.com/GitHub_Trending/ai/ai-goofish-monitor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考