BrownMenu 是一个用于 布朗大学 餐厅产品的 JSON REST API,目前仅涵盖 The Ratty 餐厅,因为这是学生认为最棒的餐厅。该数据由大学提供,并嵌入到网站页面的 iframe 中。这些 iframe 显示的是 Google 电子表格中的菜单视图,也是目前所有数据的来源。

BrownMenu 的核心实现

  • 数据抓取:通过 scrape.py 实现了抓取逻辑,自动提取每周、每餐的菜单数据。

  • 缓存机制server.py 是基于 Flask 框架的服务器,在第一次请求时抓取一周的数据并缓存至内存,一天之内后续请求直接从缓存中读取,优化响应时间。

未来改进方向

  • 更好的持久性:目前的内存缓存不具备历史数据分析能力,因此将考虑更持久的存储方式,便于进行长期的菜单数据分析。