HackerNews Extract

🦞 HN 文章与评论一键提取

developer-tool榜 #7

一键提取 HN 文章与评论为 Markdown,支持离线阅读与 LLM 分析,依赖 uv 自动管理 Python 环境。

收藏
9.8k
安装
2.8k
版本
0.1.0
CLS 安全性认证2026-07-01
点击查看完整报告 >

使用说明

核心用法

hn-extract 是一款针对 HackerNews 的内容提取工具,通过单一命令将帖子原文与讨论区整合为结构化 Markdown。用户只需提供 HN 帖子 ID、完整 URL 或本地缓存的 Algolia JSON 文件,即可自动生成包含文章正文、元数据及嵌套评论树的单一文档。

工作流程分为三步:首先使用 trafilatura 抓取并清洗外链文章的正文内容;其次调用 Algolia API 获取帖子的元数据(标题、作者、得分、发布时间等)及完整的评论层级结构;最后将三者按可读格式合并输出。评论按线程深度自动缩进,便于追踪讨论脉络。

显著优点

  • 零配置依赖:仅需系统安装 uv,Python 依赖由脚本自动拉取并隔离于独立虚拟环境
  • 多源输入:支持 ID、URL、本地 JSON 三种方式,适应网络受限或离线复盘场景
  • 输出友好:纯 Markdown 格式,兼容任意阅读器、笔记软件及 LLM 上下文窗口
  • 容错设计:内置 HTTP 重试机制,对 SSL 配置较严格的站点采用宽松处理

潜在局限

  • 反爬限制:需登录态或明确阻止爬虫的网站可能抓取失败
  • 动态内容:依赖服务端渲染的页面(如重度 JS 框架)可能提取不完整
  • 评论延迟:Algolia API 偶有同步滞后,极端情况下可能缺失最新回复

适合人群

HN 重度读者、研究者、需要构建私有知识库的技术人员,以及希望将社区讨论纳入 LLM 工作流的内容分析师。

常规风险

网络请求暴露用户 IP;抓取频率需自我节制以避免触达 Algolia 或目标站点的速率限制;敏感文章缓存于本地需自行管理存储安全。

安全解读

HackerNews Extract 综合评估

核心用法

hn-extract 是一个轻量级 Python 工具,专用于提取 HackerNews 帖子的完整内容。用户只需提供 HN 帖子 ID、URL 或本地保存的 Algolia JSON 文件,工具即可自动完成:

1. 文章抓取:使用 trafilatura 抓取链接原文,自动清理 HTML 并提取正文
2. 评论获取:从 HackerNews Algolia API 获取故事元数据和完整的嵌套评论树

3. 格式输出:生成结构化的 Markdown 文件,包含原文、按线程深度缩进的评论层级、作者信息和关键元数据

命令行使用简洁,支持输出到文件或 stdout,依赖通过 uv 自动管理,无需手动安装。

显著优点

  • 零配置体验:仅需 uv 即可运行,依赖自动隔离安装
  • 内容完整性:同时获取原文与完整讨论线程,保留评论层级关系
  • LLM 友好:Markdown 输出格式规范,便于直接输入大语言模型进行摘要或分析
  • 鲁棒性设计:HTTP 请求带重试机制,SSL 处理宽松,目录自动创建

潜在局限

  • 来源可信度:T3 级别(个人开发者项目),虽代码开源透明,但缺乏企业级维护背书
  • 抓取限制:部分需认证或反爬严格的网站可能抓取失败
  • 输入依赖:未对目标 URL 做域名白名单校验,存在访问不可信站点的潜在风险
  • 无许可证:当前未声明开源许可证,法律使用边界模糊

适合人群

  • 需要批量整理 HN 讨论供离线阅读或研究的技术从业者
  • 希望将 HN 内容作为 LLM 训练/分析输入的数据工程师
  • 追求简洁工具链、偏好 uv 管理 Python 环境的开发者

常规风险

  • 网络层面:主动发起外部 HTTP 请求至第三方网站(包括 HN 及原文链接目标),存在被动暴露 IP 的风险
  • 内容风险:抓取内容完全取决于用户提供的 URL,可能包含恶意网页
  • 文件系统:按用户指定路径写入文件,路径注入风险低(使用 pathlib)但需确保输出目录可控

HackerNews Extract 内容

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