HackerNews Extract

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

一键提取 HN 帖子的文章与评论为干净 Markdown,支持本地阅读或喂给 LLM 分析,Python 单脚本零依赖安装

收藏
10.3k
安装
2.8k
版本
0.1.5
CLS 安全性认证2026-05-13
点击查看完整报告 >

使用说明

核心功能

hn-extract 是一款轻量级 HackerNews 内容提取工具,通过单一 Python 脚本将 HN 帖子的外链文章与评论区整合为一份结构化 Markdown 文档。用户只需提供 HN ID 或完整 URL,工具即自动抓取原文 HTML、清洗格式、提取元数据,并按线程深度缩进排版评论,最终输出适合快速阅读或 LLM 输入的干净文本。

显著优点

  • 零配置即用:依赖 uv 实现自动虚拟环境与包管理,无需手动安装 Python 依赖
  • 单文件可移植:单脚本架构,便于嵌入各类 Agent 工作流或本地调用
  • 结构化输出:文章与评论分离、评论按层级缩进,保留讨论脉络
  • 工具链友好:支持 -o 指定输出路径,便于下游自动化处理

潜在局限

  • 反爬风险:部分站点需认证或启用反爬机制,可能导致抓取失败
  • 无内置缓存:重复提取相同帖子将重新发起 HTTP 请求
  • 格式依赖:原文 HTML 结构异常时,清洗效果可能不稳定
  • Python 限定:依赖 uv 运行时环境,对非 Python 生态用户不够友好

适合人群

  • 需要离线阅读 HN 长文的开发者
  • 构建 AI 摘要、知识库归档的自动化工作流
  • 研究人员批量采集技术社区讨论数据

常规风险

  • 频繁请求可能触发 HN 或目标站点速率限制
  • 提取内容受原站版权约束,商用需注意合规性
  • 评论区内容未经审核,直接用于训练存在偏见风险

使用建议

建议搭配本地 LLM 或 RAG 系统使用,提取后即时摘要而非长期存储原始数据。

安全解读

核心用法

hn-extract 是一款轻量级 Python 工具,通过 uv 脚本运行器直接执行,无需复杂安装。用户只需提供 HackerNews 帖子 ID 或完整 URL,工具便会自动:

1. 抓取原始文章:使用 trafilatura 提取目标网页的干净正文内容,去除广告和杂乱元素
2. 获取 HN 元数据:通过官方 Algolia API 拉取帖子标题、作者、时间、投票数等信息

3. 递归抓取评论:按线程深度缩进格式化所有评论层级,保留讨论脉络

4. 输出统一 Markdown:将文章正文、HN 元数据、嵌套评论合并为单一可读文件

典型命令:uv run --script hn-extract.py 46861313 -o output.md

显著优点

  • 零配置运行:依赖 uv 自动管理,首次运行自动安装所需包,无需手动创建虚拟环境
  • 格式统一:输出标准化的 Markdown,适配 Obsidian、Notion、各类 LLM 输入等场景
  • 线程保留:评论按层级缩进,讨论结构一目了然,优于官方页面的扁平浏览体验
  • 重试机制:内置 HTTP 重试逻辑,提升对不稳定网络的容错能力
  • 输出灵活:支持 stdout 直接输出或指定文件路径,目录自动创建

潜在缺点与局限性

  • 依赖 `uv` 生态:必须安装 uv,传统 pip/virtualenv 用户需要额外工具链
  • 反爬限制:部分网站启用 Cloudflare 或需要登录验证时,内容提取可能失败
  • 动态内容缺失:纯前端渲染的单页应用(SPA)内容可能无法通过 trafilatura 抓取
  • 无增量更新:每次运行全量抓取,频繁提取相同帖子会造成冗余请求
  • 评论深度无限制:极深层嵌套评论可能导致 Markdown 缩进过深,可读性下降

适合人群

  • 技术读者:希望离线归档 HN 高质量长文与深度讨论的技术从业者
  • AI 工作流用户:需要将 HN 内容作为 RAG 知识库或 LLM 分析素材的研究者
  • 内容策展人:定期收集技术趋势、创业讨论、行业洞察的内容创作者
  • 专注力用户:偏好干净阅读界面,厌烦 HN 原始界面干扰的极简主义者

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 网络依赖 | 需访问 Algolia API 和目标网站 | 失败时抛出明确错误,不静默处理 |
| 第三方站点差异 | 目标网站结构变化可能导致提取质量波动 | 依赖 `trafilatura` 的通用提取策略 |
| 文件覆盖 | `-o` 指定路径若已存在会被覆盖 | 用户自行管理输出路径命名 |
| 来源可信度 | 个人开发者项目 (T3),更新节奏不确定 | 关注 GitHub Release 和 Issue 动态 |

安全审计显示代码结构清晰,无危险函数调用,依赖均为知名开源库且无已知 CVE。建议定期更新 uv 和依赖版本以持续获得安全补丁。

HackerNews Extract 内容

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