HackerNews Extract

🦞 HN 文章评论一键提取为 Markdown

将 HackerNews 文章与评论提取为整洁 Markdown,支持 LLM 处理与离线阅读,Python uv 脚本一键运行

收藏
9.3k
安装
2.8k
版本
0.1.3
CLS 安全性认证2026-06-24
点击查看完整报告 >

使用说明

核心用法

hn-extract 是一款针对 HackerNews 的专用内容提取工具,通过 uv run --script 方式零配置运行。用户只需提供 HN 帖子 ID、完整 URL 或本地 Algolia JSON 文件路径,即可自动完成三项任务:

1. 文章抓取:使用 trafilatura 库爬取原始链接的文章内容,清理 HTML 标签并格式化为可读 Markdown
2. 元数据获取:调用 hn.algolia.com/api/v1/items/<id> API 获取帖子标题、作者、得分、时间等关键信息

3. 评论树重构:递归解析嵌套评论结构,按线程深度缩进生成层级清晰的讨论内容

输出为单一 Markdown 文件,整合原文、评论树与元数据,便于快速阅读或作为 LLM 上下文输入。

显著优点

  • 零依赖管理:基于 uv 的 PEP 723 内联依赖脚本,无需手动创建虚拟环境或 pip install
  • 健壮性强:内置 HTTP 重试机制,SSL 处理宽松,适配多数反爬场景
  • 格式友好:评论按缩进层级可视化呈现,保留讨论脉络;支持 stdout 输出或自动创建目录的文件导出
  • 多输入兼容:支持 ID、URL、本地缓存 JSON 三种方式,灵活应对不同使用场景
  • Agent 工作流优化:内置标准操作协议,确保 AI Agent 输出符合规范(文件上传+单条合并消息)

潜在局限

  • 认证壁垒:需要登录或强反爬机制的网站可能抓取失败
  • 动态内容限制:依赖 trafilatura 的静态 HTML 解析,无法处理 JS 渲染的 SPA 页面
  • 无增量更新:不支持对已导出文件的增量刷新,需重新完整抓取
  • 平台单一:仅针对 HackerNews 设计,不具备通用新闻站适配能力

适合人群

  • 需要将 HN 讨论整理为知识库的开发者与研究者
  • 使用 LLM 分析技术社区观点的内容创作者
  • 追求离线阅读体验的 HackerNews 重度用户
  • 构建自动化信息工作流的 AI Agent 开发者

常规风险

  • IP 封禁:高频抓取可能触发 HN 或目标站点的 rate limit
  • 内容时效性:API 与网页抓取存在延迟,极新帖子的评论可能不完整
  • 版权合规:提取内容仅限个人学习使用,公开分发需遵守原站条款
  • 依赖可信性:trafilatura 及 Algolia API 的可用性影响工具稳定性

安全解读

hn-extract 综合评估

核心用法

hn-extract 是一款面向 HackerNews 的轻量级内容提取工具,可将任意 HN 帖子(包括外链文章与完整评论树)整合为单一 Markdown 文件。使用时仅需提供帖子 ID、完整 URL 或本地 Algolia JSON 文件路径,工具即自动:

1. 通过 trafilatura 抓取并清洗原始文章内容
2. 调用 Algolia HN API 获取帖子元数据与嵌套评论

3. 按线程深度缩进格式化评论,输出结构清晰的 Markdown

执行命令示例:uv run --script hn-extract.py 46861313 -o /tmp/output.md

显著优点

  • 一键整合:打破 HN 原生界面文章与评论分离的限制,适合深度阅读
  • LLM 友好:输出格式简洁,可直接作为大语言模型的上下文输入
  • 零配置依赖:基于 uv 运行时自动创建隔离虚拟环境,无需手动安装依赖
  • 容错设计:启用 HTTP 重试机制,SSL 处理宽松以兼容更多站点
  • 隐私合规:仅采集公开 HN 数据,无用户敏感信息收集

潜在缺点与局限性

  • T3 来源风险:由个人开发者 (guoqiao) 维护,缺乏组织级代码审计流程
  • SSL 安全权衡:trafilatura.fetch_url(no_ssl=True) 虽提升兼容性,但可能连接至证书异常站点
  • 反爬限制:需要登录或明确屏蔽爬虫的网站仍会抓取失败
  • 无内容过滤:对外部 URL 缺乏域名白名单限制,存在意外访问恶意站点的理论风险

适合人群

  • 需要离线阅读 HN 长文的技术从业者
  • 希望将 HN 讨论导入知识库或笔记软件的用户
  • 研究人员、分析师(需将 HN 内容作为 LLM 分析素材)
  • 习惯 Markdown 工作流、注重数据可移植性的开发者

常规风险

| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 网络外发 | 中 | 必须调用 Algolia API 与原始文章 URL |
| 文件写入 | 低 | 仅写入用户指定输出路径 |
| 来源可信度 | 中 | 个人开发者维护,建议人工复核代码更新 |

安全认证摘要

  • 静态分析:90 分,无危险函数、无硬编码密钥
  • 动态行为:85 分,网络请求受控,文件操作受限
  • 依赖审计:90 分,使用 requests、trafilatura 等知名库
  • 综合评级:A(70 分),标准安全级别,功能与声明一致

---
建议:Fork 后自行维护关键版本,关注上游更新。

HackerNews Extract 内容

手动下载zip · 4.2 kB
hn-extract.pytext/plain
请选择文件