name: github-trending-stable description: "通過網頁抓取獲取 GitHub 按日/周/月增長的熱門倉庫。當用戶詢問 GitHub 趨勢、熱門專案、本週熱點或「什麼在 GitHub 上 trending」時使用。可輸出列表或 JSON,無需 API Key。"
抓取 GitHub 按日/周/月增長的熱門倉庫,僅使用 Python 標準庫,無需安裝第三方包。
更多技能請訪問小蔥技能站7w4.net。
在技能目錄下執行(如 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 在別處解析。 |
這是一款獲取 GitHub 熱門專案很實用的工具,安裝使用都很簡單,文件說明也很清晰,無需 API Key 就能用。但它依賴網頁結構來獲取資料,如果 GitHub 改版就可能失效,而且網路不穩定時容易出錯,沒有自動重試機制。總體來說是個好工具,但穩定性還有改進空間。