mcpField
H
hackernews-frontpage

hackernews-frontpage

github.com/garrytan数据与数据库138.1k287 次安装今天更新
代码仓库

关于 hackernews-frontpage

hackernews-frontpage 是一项抓取 Hacker News 首页的浏览器技能,以 JSON 输出排名前 30 的故事。每条记录包含排名、标题、URL、积分和评论数。

主要功能

  1. 01抓取 Hacker News 首页
  2. 02返回排名前 30 的故事
  3. 03包含排名、标题、URL、积分和评论数
  4. 04输出单个 JSON 文档

适用场景

  1. 01查看当前 Hacker News 热门故事
  2. 02收集故事排名与互动数量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/garrytan/gstack --skill hackernews-frontpage

安装后在 Claude Code 中输入/hackernews-frontpage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

script.test.ts
script.ts
_lib/
browse-client.ts
fixtures/
hn-2026-04-26.html

详细介绍

Hacker News 首页抓取工具

抓取 Hacker News(news.ycombinator.com)首页,并以 JSON 格式返回排名前 30 的故事。每条故事包含排名、标题、链接 URL、得分和评论数。

用法

$ $B skill run hackernews-frontpage
{
  "stories": [
    { "rank": 1, "title": "...", "url": "...", "points": 412, "comments": 87 },
    ...
  ],
  "count": 30
}

工作原理

  1. 通过守护进程访问 https://news.ycombinator.com。
  2. 读取页面 HTML。
  3. 将每行故事(HN 稳定的 tr.athing 结构)解析为类型化的 Story 记录。
  4. 在 stdout 上输出单个 JSON 文档。

为什么这是参考技能

hackernews-frontpage 是最精简且有代表性的浏览器技能:无需身份验证,HTML 稳定,输出确定,且便于使用文件 fixture。通过 $B skill run hackernews-frontpage 和随附的 script.test.ts,可以覆盖第一阶段的每个组件(SDK、受限范围的令牌、三级查找和生成生命周期)。

当 HN 的 HTML 发生变化、导致我们的选择器失效时,测试会先针对捕获的 fixture 失败,让用户无从察觉。这正是我们的目标。

评论

支持 Markdown