我如何在6.5小时内开始对 Pokémon Center 进行 Botting
Source: Dev.to
不知道这里有没有人是 Pokémon 的铁粉 👀
当我在实体店找不到想要的商品时,我决定把它变成一个项目。
于是我做了一个 Pokémon Center 监控器 Ϟ(๑⚈ . ̫ ⚈๑)⋆。
这并不是要打造完美系统。目标是尽快让它跑起来。无论是业余爱好项目还是最小可行产品(MVP),时间都可能有限,结果才是关键。
下面是我在大约 6.5 小时 内完成可用监控的全过程。
最终效果
- 只要有商品上架,我就会收到邮件通知。
- 避免了 Error 15 / Access Denied 之类的硬性封锁。
- 绕过 hCaptcha 而无需真正求解。
- 记录运行时长、失败情况以及最近一次成功的操作。
第 1 步:建立稳定的站点访问
浏览器选择
- 标准 Selenium → Error 15 / Access Denied(没有验证码,只是硬性封锁)
- Firefox → 效果参差不齐
- 修改版 Chrome → 略好于 Firefox
- 结果: 修改版 Chrome 表现最佳。
VPN、代理以及真正的发现
- ExpressVPN → 对长时间运行有帮助,但没有立竿见影的差别。
- 2Captcha 代理 → 对长时间运行有帮助,但没有立竿见影的差别。
- Cookies 可能才是关键。
为什么 Cookies 比你想象的更重要
- 检测是基于评分的,而不是简单的允许/阻止规则。
- 封锁会显得随机:有时 10 次中被封锁 1 次,有时 10 次中被封锁 7 次。
- 当你的评分低于阈值时会出现验证码;提升评分比直接求解验证码更有效。
什么是 Cookies?
Cookies 是用于保持会话上下文和行为信号的小型数据文件。即使 IP 在轮换,如果 Cookies 不变仍然可以识别你。没有 Cookies 的浏览器往往比带有正常历史记录的浏览器更可疑。
快速测试 Cookies 的方法:手动收集
- 访问 YouTube。
- 访问 Walmart。
- 搜索 “Pokémon Center”,而不是直接打开链接。
这样可以把验证码出现率降到每 10 次访问不到 1 次。
自动化收集 Cookies 的流程
- 打开随机的高流量站点。
- 将 Cookies 保存到文件。
- 在后续的浏览器会话中注入这些 Cookies。
第 2 步:提取商品数据
📌 快速技巧: 在把选择器搬到 Python 之前,先在控制台里测试并确认它们。
- 在 DevTools 中检查页面,在控制台里测试选择器,确认选择器的数量与页面上显示的商品数量相匹配。
- 确认无误后,再把逻辑移到 Python 中,用浏览器的 JavaScript 执行。
第 3 步:用 80/20 方法扩展运行时
每一次扩展都会暴露新问题。为完成扩展,我:
- 增加了更多的 Cookie 种类。
- 添加了稳定的代理连接。
- 实现了错误通知和健壮的错误处理。
🧱 注意: 不要让脚本在被严重封锁时仍然持续运行,这会消耗你的 IP 并触发更强的防御。
第 4 步:加入最小但有效的支持系统(hCaptcha)
- 在第一小时内,Cookies 已经消除了约 9/10 的 hCaptcha。5–7 小时后,这一比例下降到 2–3/10。
- 轮换代理防止了性能下降。
- 对于剩余的情况,我使用 PyAutoGUI 😂 每次点击相同的 hCaptcha 位置。
- 这样成功率提升到约 99 %,无需外部求解器。
P.S. 对于可扩展系统,建议使用 Python 内置的点击方法,而不是 PyAutoGUI。
收获
首先关注:
- Cookies
- IP
- 浏览器配置
- 速率限制
P.P.S. 在这里观看我的完整实现。