Skip to content

About

PS5 Stock Tracker

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

PS5 Pro 秒级库存监控

当前启动器监控 TrackaLacker 上的四个 PS5 Pro 渠道:Target、Walmart、GameStop 和 Best Buy。任何一个渠道当前显示 In Stock 时,都会立即向 fzrsnb@gmail.com 发送预警;邮件主题和正文会标明具体渠道,并同时附上该零售商的购买链接和对应 TrackaLacker 状态页。

它不是 Windows 定时任务:程序会一直运行,每个渠道默认约每 10 秒读取一次当前状态,并把四个请求错开执行,避免同一瞬间集中访问。某个渠道查询失败时会独立指数退避,不会拖停其他渠道。

Target RedSky 官方接口因持续返回 CAPTCHA 而暂时停用;TrackaLacker 的 Target listing 仍会正常监控,但不会触发 Target 官方 API 复查。

第一次使用

  1. 安装 Python 3.10 或更新版本。脚本只用 Python 标准库,不需要 pip install。TrackaLacker 请求使用 Windows 10/11 自带的 curl.exe;如果系统找不到它,程序会明确报错。
  2. 发件 Gmail 账户需要启用两步验证,并按 Google 官方说明创建一个 16 位“应用专用密码”。不要使用普通 Gmail 登录密码,也不要把密码发到聊天中。
  3. 双击 start_monitor.cmd。
  4. 在黑色窗口中输入应用专用密码;输入时不会显示字符。
  5. 保持窗口和电脑运行。按 Ctrl+C 可停止。

默认假定发件账户也是 fzrsnb@gmail.com。如果需要用另一个 Gmail 发件,在 PowerShell 中运行:

.\start_monitor.ps1 -Sender "你的发件地址@gmail.com"

先验证邮件设置:

.\start_monitor.ps1 -TestEmail

应用专用密码只进入当前监控进程的环境变量和内存,不会写入项目文件。运行状态只记录在 .stock_state.json,用于防止重复发信。四个渠道分别去重:某个渠道持续显示同一次 In Stock 时只发一次预警;它先恢复为 Out of Stock、以后再次变成 In Stock 时才会重新预警。一个渠道已经发过邮件不会压掉另一个渠道的提醒。

只检查当前库存

不配置邮件也可以做一次实时检查:

py -3 .\monitor.py --once --no-email --no-target

检查速度

默认保留少量随机抖动,降低被网站限流的概率:

.\start_monitor.ps1 -TrackaLackerIntervalSeconds 10

TrackaLacker 间隔不能低于 5 秒。过快请求通常不会更早得到库存更新,反而更容易被限流。

库存来源

当前启用四路 TrackaLacker listing:

每一路都只读取 Product JSON-LD 中当前的 offers.availability,不会搜索页面历史表格里的 “In Stock” 文本,因此旧的库存变化记录不会触发误报。

Target 官方检查代码仍然保留,但命令行和启动器现在都默认使用 --no-target。以后确认 CAPTCHA 限制解除并希望重新启用时,可以显式运行:

.\start_monitor.ps1 -EnableTargetChecks

在确认 Target 官方接口稳定前,不建议启用这个开关。

重要限制

  • 这是提醒器,不会登录 Target、自动加入购物车或自动下单。
  • TrackaLacker 是第三方信号,可能早于 Target,也可能误报或比官方状态滞后。
  • Target 官方自动检查目前已暂停;收到任何渠道的邮件后都应打开对应零售商链接手动确认。
  • 邮件到达速度还取决于 Gmail;检测本身是秒级。
  • 电脑睡眠、关机、断网或关闭窗口时,监控会停止。
  • Target 库存变化很快,收到邮件后仍应以购物车和结账页面为准。

About

PS5 Stock Tracker

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages