r/AnnArbor 的一篇帖子通过汇总来自许多分散来源的事件获得了 110 票赞成。这符合 Scavio 单城市活动聚合器的配方。
前置条件
- Scavio API 密钥
- Python 或节点
- 每个城市精心策划的 5-15 个场馆来源列表
- 静态或简单的 Next.js 前端
操作指南
步骤 1: 整理场地来源列表
每个城市 5-15 个域名。
Text
// domains = ['theark.org', 'thelivery.com', 'umich.edu/events', ...]步骤 2: 每个场地:Scadio 网站搜索
返回带有标题+ URL + 代码片段的organic_results。
Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
for d in domains:
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f'site:{d} events 2026'}).json()步骤 3: 每个城市的 Reddit 信号
显示场地日历错过的社区活动。
Python
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': 'reddit r/AnnArbor this weekend events 2026'}).json()步骤 4: 规范化为类型化 JSON
{title, datetime, venue, url, category}.
Text
# Per result: regex date + venue inference + category guess. Use LLM as fallback for ambiguous cases.步骤 5: 通过URL+标题模糊匹配去重
许多活动出现在多个场地的信息流中。
Text
# Use rapidfuzz or LLM judge for the 5-10% fuzzy overlaps.步骤 6: 每日计划
当地时间早上 6 点运行;更新静态 JSON。
Text
# crontab: 0 6 * * * /usr/bin/python /app/aggregate.py步骤 7: 呈现为干净的公共提要
没有登录。
JavaScript
// pages/[city].tsx → fetch /data/events-${city}.json → render list grouped by datePython 示例
Python
# Per-month: $30 Scavio + ~$5 hosting = under $40/mo for one city.JavaScript 示例
JavaScript
// Same shape in Next.js + fetch.预期输出
JSON
Daily-updated events feed at /CityName route. Mid-size city: ~600-1,000 normalized events/mo.