catchtable-sniper 是做什么的?
监控 Catchtable 上的开放预订时段,并使用已登录的 Chrome 会话尝试预订。
概述
此技能可让 AI 助手(如 Claude Code、Cursor 等)自动监控 Catchtable 餐厅预订平台,并在检测到符合指定条件的可用时段时,利用用户已登录的 Chrome 浏览器会话自动执行预订操作。
工作原理
- 浏览器自动化:通过 Selenium 或 Puppeteer 控制一个已登录 Catchtable 的 Chrome 浏览器实例。
- 持续监控:定期扫描目标餐厅的预订日历页面,检查是否有符合日期、人数和时间范围条件的空位。
- 自动预订:一旦发现可用时段,立即模拟用户点击和填写表单,完成预订提交。
- 结果通知:成功预订或出现错误时,通过用户配置的方式(如控制台输出、系统通知等)告知用户。
适用平台
- macOS
- Windows
- Linux
先决条件
- 安装 Chrome 浏览器
- 已登录 Catchtable 账号的 Chrome 用户数据目录或远程调试端口
- Python 3.7+ 及必要的 Python 包(详见下方配置)
配置
-
获取 Chrome 用户数据目录:
- 在 Chrome 地址栏输入
chrome://version/,找到“个人资料路径”或“Profile Path”。 - 例如:
C:\Users\YourName\AppData\Local\Google\Chrome\User Data(Windows)或/Users/YourName/Library/Application Support/Google/Chrome/(macOS)。
- 在 Chrome 地址栏输入
-
启动 Chrome 时指定远程调试端口(可选,更稳定):
chrome --remote-debugging-port=9222 --user-data-dir="<你的用户数据目录>" -
设置监控参数(在配置文件中或在代码中直接修改):
RESTAURANT_URL:目标餐厅在 Catchtable 上的预订页面 URL。TARGET_DATE:希望预订的日期(格式 YYYY-MM-DD)。PARTY_SIZE:用餐人数。TIME_RANGE:可接受的时间范围(例如["18:00", "20:00"])。CHECK_INTERVAL:监控检查间隔时间(秒)。
使用示例
-
克隆项目并安装依赖:
git clone https://github.com/nomadamas/catchtable-sniper.git cd catchtable-sniper pip install -r requirements.txt -
配置您的监控参数(编辑
config.py或直接在技能调用时传入参数)。 -
运行监控脚本:
python sniper.pyAI 助手将自动打开或连接到已登录的 Chrome 浏览器,并开始监控。
注意事项
- 请确保您有权使用该技能,且遵守 Catchtable 的服务条款。自动预订可能违反某些平台的使用规则。
- 频繁请求可能被目标网站限制,请合理设置检查间隔。
- 建议在非高峰时段进行测试,确保配置正确。
故障排除
- Chrome 无法连接:确认
--remote-debugging-port参数已正确传递,且端口未被占用。 - 登录状态失效:每次使用前确保 Chrome 会话仍在登录状态。手动打开 Catchtable 并登录一次即可。
- 检测不到空位:可能目标餐厅当天未放出任何时段,或您的搜索条件过于严格。
许可
MIT License