用 Apify 搭建 HackerNews Firefeed:Firebase API 实时抓取热门内容
Hacker News(HN)每天产生大量高质量的技术讨论和社区内容。很多科技公司、投资人、研究者都在追踪 HN 上的热门内容——这对科技趋势监控、早期产品信号捕捉、AI 训练数据收集都有巨大价值。
这篇文章介绍如何用 Apify Actor 构建一个 HN Firefeed 爬虫,基于 HN 官方 Firebase API,稳定高效地抓取热门、最新、最佳帖子和嵌套评论数据。
为什么选 Firebase API?
HN 官方将数据同步到 Firebase 平台,提供了一套公开的 REST API:
https://hacker-news.firebaseio.com/v0/topstories.json
https://hacker-news.firebaseio.com/v0/item/{id}.json
核心优势:
- 官方 API,完全合规,无需绕反爬
- 纯 HTTP 请求,响应速度极快(<50ms)
- 数据结构化,含完整评论嵌套结构
- 无需登录、无需 API key
- 支持 ASK_HN、SHOW_HN 等特殊 Feed
Feed 类型全解析
| Feed 类型 | 用途 | 说明 |
|---|---|---|
| top | 热门帖 | 按评分排序 |
| new | 最新帖 | 按发布时间排序 |
| best | 最佳帖 | 社区精选高质量内容 |
| ask_hn | Ask HN | 用户提问帖精华 |
| show_hn | Show HN | 用户展示项目帖 |
快速开始
访问 HackerNews Firefeed Scraper 获取工具。
技术实现
HN Firebase API 返回结构化 JSON,通过 parent-kids 嵌套结构组织评论:
def fetch_kids(kids, depth=0):
if depth >= max_depth or len(comments) >= max_comments:
return
for kid_id in kids[:5]:
item = get_item(kid_id)
if item and item.get("type") == "comment":
comments.append(parse_comment(item, depth))
fetch_kids(item["kids"], depth + 1)
定价策略
Actor 采用 pay-per-result 定价:$0.0001–0.001 / 条帖子,Apify $5/月免费额度足够日常使用。
后续优化方向
- 添加 GPT 情感分析评分
- 定时调度每日自动推送趋势报告
- 集成 Google Sheets / Airtable 导出
相关链接:
- HackerNews Firefeed Scraper(Apify Store)
- HN Firebase API
- xiaclaw2018/apify-scraper(GitHub)
Top comments (0)