核心用法
hn-extract 是一款专为 HackerNews 内容提取设计的 CLI 工具,通过 uv 零配置运行。用户只需提供 HN 帖子 ID、完整 URL 或本地 Algolia JSON 文件路径,即可自动完成:
1. 文章抓取:使用 trafilatura 爬取原始链接的网页内容,清理 HTML 标签并转换为结构化 Markdown
2. 元数据获取:调用 hn.algolia.com/api/v1/items/<id> 获取帖子标题、作者、分数、时间等关键信息
3. 评论树还原:递归解析嵌套评论层级,通过缩进深度可视化呈现讨论线程
4. 统一输出:将文章正文、HN 讨论、元数据合并为单一 Markdown 文件
支持重试机制、自动目录创建、灵活 SSL 处理以提升兼容性。
显著优点
- 零依赖安装:仅需系统预装
uv,Python 依赖自动隔离至专属 venv - 格式纯净:输出标准 Markdown,适合 Obsidian/Notion 导入或直接投喂 LLM
- 线程可读:评论按层级缩进,比网页端更易追踪讨论脉络
- 输入灵活:ID/URL/JSON 三种来源无缝切换,支持离线二次处理
- 工作流集成:Agent 场景内置标准化流程(提取→上传→询问摘要)
潜在局限
- 反爬风险:部分站点需认证或启用反爬策略,可能提取失败
- 内容完整性:
trafilatura对复杂动态渲染页面(SPA/重度 JS)支持有限 - 无增量更新:每次需完整重新抓取,不支持评论增量同步
- Python 环境绑定:虽用
uv隔离,但仍依赖 Python 生态
适合人群
- 需要离线阅读 HN 长文的技术爱好者
- 构建知识库、将 HN 讨论纳入笔记系统的用户
- 研究技术趋势、需批量抓取 HN 内容的数据分析师
- 使用 LLM 分析社区讨论的研究者与开发者
常规风险
- 高频请求可能触发 HN/源站 rate limit
- 抓取内容需遵守原站版权与 HN 使用条款
- SSL 宽松配置在极端场景下存在中间人攻击理论风险(实际概率极低)