要解决的问题
价格监控需要定时自动执行。我希望 scraper 不依赖本地电脑,因此首先考虑部署到云端。
尝试与结果
最初我使用 Google Cloud Run + Cloud Scheduler 部署 scraper,希望由 Scheduler 定时触发价格检查。
部署本身可以正常运行,但实际测试时,目标网页全部读取失败。
相比之下,相同的 scraper 在本地网络环境下可以正常工作。这说明问题更可能与运行环境有关,部分目标网站可能会限制来自云数据中心的流量。
可选方案
- A. 继续使用 Cloud Run,并研究其他方式解决访问限制。
- B. 更换其他云端运行环境继续测试。
- C. 放弃云端部署,在本地运行 scraper。
方案权衡
A 和 B 都可能解决问题,但需要继续投入时间研究网络环境和网站限制,而且即使当前能够解决,也无法保证目标网站未来不会再次调整限制。
这个项目的目标是可靠地监控价格,而不是解决网站对云数据中心流量的限制,因此继续投入大量时间的收益有限。
C 的基础设施没有云端方案完善,但实现简单,而且实际测试证明本地环境能够稳定访问目标网站。
最终选择 C。
潜在风险
- 本地电脑关机、休眠或网络中断时,定时任务无法执行。
- 同时需要控制 scraper 的访问频率,避免短时间内重复请求目标网站。
成功指标
- 使用 Windows Task Scheduler 定时执行 scraper,并保留应用中的手动检查功能。
- 在正常访问频率下,目标网页能够持续读取,整个价格监控流程不需要依赖额外的云端访问方案。