Install
openclaw skills install github-trending-stable通过网页抓取获取 GitHub 按日/周/月增长的热门仓库。当用户询问 GitHub 趋势、热门项目、本周热点或「什么在 GitHub 上 trending」时使用。可输出列表或 JSON,无需 API Key。
openclaw skills install github-trending-stable抓取 GitHub 按日/周/月增长的热门仓库,仅使用 Python 标准库,无需安装第三方包。
在技能目录下执行(如 github-trending-stable/):
# 本周趋势(默认),15 条
python scripts/github_trending.py weekly
# 今日趋势,10 条
python scripts/github_trending.py daily --limit 10
# 本周 Python 趋势
python scripts/github_trending.py weekly --language python
# 输出 JSON(便于管道或工具调用)
python scripts/github_trending.py weekly --json
| 参数 | 取值 | 默认 | 说明 |
|---|---|---|---|
period | daily, weekly, monthly | weekly | 统计「新增 star」的时间范围 |
--limit | 整数 | 15 | 返回仓库数量上限 |
--language | 字符串 | 全部 | 按语言筛选(见下方) |
--json | 开关 | — | 输出 JSON 而非可读文本 |
语言:可用全称或别名。脚本支持别名:py→python、ts→typescript、js→javascript、cpp/c++→c++、c#/csharp→c#、rs→rust、rb→ruby、go→go。其他按原样传入(如 --language "c")。
full_name、描述(最多 90 字)--json){
"period": "weekly",
"updated_at": "2026-03-13T21:00:00+08:00",
"data": [
{
"rank": 1,
"full_name": "owner/repo",
"url": "https://github.com/owner/repo",
"description": "...",
"language": "Python",
"stars_total": "12345",
"stars_gained": 1234
}
]
}
https://github.com/trending(及 .../trending/<语言>?since=<周期>)html.parser.HTMLParser(无需浏览器、无需登录)仅使用 Python 标准库:urllib.request、html.parser、json、argparse、datetime。无需 pip 安装。
| 现象 | 处理建议 |
|---|---|
| 返回空列表 / 无仓库 | 可能是网络提前断开(IncompleteRead)。重试;若脚本支持,可改用分块读取。 |
| 解析报错 / 结构不对 | GitHub 可能改版了页面结构,需更新脚本选择器或解析逻辑。 |
| 超时 | 检查网络;默认超时 15 秒。 |
| Windows 控制台 emoji 乱码/报错 | 设置 PYTHONIOENCODING=utf-8 或使用 --json 在别处解析。 |