So erhalten Sie die Anzahl aller Sterne

Person Github

Um die Anzahl der Sterne für alle Repositories eines Benutzers auf GitHub zu erhalten, müssen Sie die API von GitHub verwenden. Bitte beachten Sie jedoch, dass die API von GitHub keine direkte Schnittstelle zum Abrufen der Gesamtzahl der Sterne in allen Benutzer-Repositorys bereitstellt. Sie müssen diese Informationen daher in zwei Schritten erhalten:

  1. Rufen Sie zunächst alle Repositorys des Benutzers ab. Sie können die folgende URL in Ihren Browser eingeben ( usernameersetzen Sie sie durch Ihren tatsächlichen GitHub-Benutzernamen):
https://api.github.com/users/username/repos

Dadurch wird ein JSON-Array zurückgegeben, das alle Repositorys für den Benutzer enthält.

  1. Durchlaufen Sie dann dieses Array und stargazers_countsammeln Sie die Felder jedes Lagers (dieses Feld stellt die Anzahl der Sterne im Lager dar).

Da für diesen Prozess Programmierkenntnisse erforderlich sind, müssen Sie, wenn Sie nicht mit Programmieren vertraut sind, möglicherweise einen Freund finden, der sich mit Programmieren auskennt. Hier ist ein einfaches, in Python implementiertes Beispiel:

import requests

username = 'your_username'  # 将这里替换为实际的GitHub用户名
response = requests.get(f'https://api.github.com/users/{
      
      username}/repos')

total_stars = sum(repo['stargazers_count'] for repo in response.json())

print(total_stars)

Dieser Code sendet zunächst eine GET-Anfrage an die GitHub-API, um alle Repositorys des Benutzers abzurufen, durchläuft dann diese Repositorys, sammelt die Anzahl der Sterne in jedem Repository und gibt schließlich die Gesamtzahl der Sterne aus.

Bitte beachten Sie, dass für die API von GitHub Anforderungsbeschränkungen gelten. Wenn Sie keine Authentifizierung (z. B. ein persönliches Zugriffstoken) verwenden, können zu viele Anforderungen in einem kurzen Zeitraum dazu führen, dass Ihre IP-Adresse vorübergehend nicht auf die API von GitHub zugreifen kann.

Shell verwenden

Um die Anzahl der Sterne in allen Repositories eines GitHub-Benutzers in der Shell zu erhalten, können Sie mit curl eine Anfrage an die GitHub-API senden und mit jq die JSON-Daten analysieren. Das Folgende ist ein einfaches Beispiel für ein Shell-Skript, das alle Repositorys eines bestimmten Benutzers abruft und die Gesamtzahl aller Sterne berechnet:

#!/bin/bash

# 将USERNAME变量替换为您想查询的GitHub用户名
USERNAME="your_username"

# 使用curl获取用户的所有仓库数据
# 使用jq解析JSON并累加所有仓库的star数量
TOTAL_STARS=$(curl -s "https://api.github.com/users/$USERNAME/repos?per_page=100" | jq -r '.[] | .stargazers_count' | awk '{sum+=$1} END {print sum}')

echo "Total stars: $TOTAL_STARS"

Bitte befolgen Sie die folgenden Schritte, um dieses Skript auszuführen:

  1. Öffnen Sie Ihr Shell-Terminal.
  2. Erstellen Sie eine neue Shell-Skriptdatei, z. B. get_stars.sh.
  3. Kopieren Sie das obige Skript in diese Datei und your_usernameersetzen Sie es durch Ihren tatsächlichen GitHub-Benutzernamen.
  4. Speichern Sie die Datei und erteilen Sie ihr mit dem Befehl die Ausführungsberechtigung chmod +x get_stars.sh.
  5. Um das Skript auszuführen, verwenden Sie den Befehl ./get_stars.sh.

Dieses Skript wird curlzum Senden von HTTP-Anfragen, jqzum Verarbeiten von JSON-Daten und awkzum Sammeln von Werten verwendet. Wenn es nicht auf Ihrem System installiert ist jq, können Sie es mit einem Paketmanager installieren, wie er beispielsweise auf Ubuntu verfügbar ist sudo apt-get install jq.

Bitte beachten Sie, dass per_pagedie Parameter der GitHub-API auf bis zu 100 eingestellt werden können. Wenn der Benutzer über mehr als 100 Repositorys verfügt, müssen Sie möglicherweise die Paginierung durchführen, um die Daten für alle Repositorys zu erhalten. Wenn Sie die API häufig und ohne Authentifizierung verwenden, kann es außerdem zu Problemen mit der API-Ratenbegrenzung kommen.

おすすめ

転載: blog.csdn.net/m0_57236802/article/details/135382860