Liczby klonów są dostępne dla autoryzowanych użytkowników poprzez skrobanie z nazwą użytkownika / hasłem Github, podobnie jak liczba pobrań plików zasobów w ramach wydań . Wydaje się, że nie jest możliwe uzyskanie liczby klonów z publicznych repozytoriów lub statystyk pobierania plików innych niż aktywa (tj. Repozytorium tar.gzi zippliki).
Allen Luce,
1
Każdemu, kto czyta odpowiedzi, wszystkie podane poniżej skrypty dostarczające wydania download_count są błędne, ponieważ nie uwzględniają systemu paginacji GitHub i podają sumę dla ostatnich 30 wydań,
c.setopt(c.URL,'https://api.github.com/repos/'+ full_name +'/releases')for p in myobj:if"assets"in p:for asset in p['assets']:print(asset['name']+": "+ str(asset['download_count'])+" downloads")
Oryginalna odpowiedź (grudzień 2010)
Nie jestem pewien, czy widzisz te informacje (jeśli w ogóle są zapisywane), ponieważ nie widzę ich w API repozytorium GitHub :
$ curl http://github.com/api/v2/yaml/repos/show/schacon/grit
---
repository:
:name: grit
:owner: schacon
:source: mojombo/grit # The original repo at top of the pyramid
:parent: defunkt/grit # This repo's direct parent
:description: Grit is a Ruby library for extracting information from a
git repository in an object oriented manner - this fork tries to
intergrate as much pure-ruby functionality as possible
:forks: 4
:watchers: 67
:private: false
:url: http://github.com/schacon/grit
:fork: true
:homepage: http://grit.rubyforge.org/
:has_wiki: true
:has_issues: false
:has_downloads: true
Możesz tylko sprawdzić, czy ma pliki do pobrania, czy nie.
@MarzSocks, jeśli mówisz o download_countpolu Release API, które powinno zawierać liczbę pobrań wydania (które nie zawsze są zipem i nie są klonami)
VonC
@MarzSocks, jeśli mówisz o „liczbie klonów”, nie powinno to obejmować pobierania plików ZIP. Tylko git cloneinstancje. Skontaktuj się z obsługą GitHub, aby uzyskać potwierdzenie.
Wciąż otrzymuję komunikaty „Brak wydań dla tego projektu” lub „Projekt nie istnieje”. Co się mylę?
Alex
Otrzymuję tę samą wiadomość. To nie może być prawda.
cryptic0
3
Tak. Ja też. Wygląda na to, że ta aplikacja przestała działać dawno temu.
Daan van den Bergh
1
Ta aplikacja nie jest poprawna, ponieważ zawiera tylko 30 najnowszych wydań podanych przez GitHub w odpowiedzi API, jak szczegółowo opisano tutaj: developer.github.com/v3/guides/traversing-with-pagination Konieczne jest iterowanie stron z łącze „next” podane w nagłówku, aby obliczyć poprawną sumę. Przykładowym repozytorium jest slamdata / quasar, gdzie ta metoda daje bardzo niepoprawną sumę.
Qiri,
Aplikacja liczy tylko repozytoria z wydaniami
SM Pat
12
GitHub wycofał obsługę pobierania i obsługuje teraz „Wydania” - https://github.com/blog/1547-release-your-software . Aby utworzyć wydanie, użyj interfejsu użytkownika GitHub lub utwórz tag z adnotacjami (http: // git-scm.com/book/ch2-6.html) i dodaj do niego informacje o wersji w GitHub. Następnie możesz przesłać pliki binarne, czyli „zasoby”, do każdej wersji.
Gdy masz już kilka wydań, interfejs API GitHub obsługuje uzyskiwanie informacji o nich i ich zasobach.
Dzięki! Wydaje się, że Moje repozytorium nie ma takiego pola, nawet jeśli niektóre tagi są ustawione jako „wydania” - nie liczy to pobrań wydań spakowanych / spakowanych (lub pole jest pominięte, jeśli count=0)? Czy pokazuje tylko pole dla żądań klonowania? Zobacz to bez download_count: api.github.com/repos/demisjohn/pytrimsetup/releases . Strona github jest tutaj: github.com/demisjohn/pyTRIMSetup/releases
Demis
Liczniki pobrań są dostępne tylko dla zasobów wersji, a nie dla archiwów kodu źródłowego tagu. Jeśli spojrzysz na adresy URL ładowania początkowego, które podałem powyżej, mają one bootstrap-XYZ-dist.zipzasób, do którego download_countodnosi się pole. Jeśli chcesz zobaczyć, ile osób pobiera wydanie, musisz przesłać plik zip wydania. O ile mi wiadomo, nie ma możliwości sprawdzenia, ile osób sklonowało / pobrało archiwum za pośrednictwem interfejsu API. Widok wykresów (ze stackoverflow.com/a/4339085/2634854 powyżej) może jednak dać ci to, czego szukasz.
andyberry88
Dzięki za wytłumaczenie. Wykresy są rzeczywiście pomocne.
Demis
12
Liczba ODWIEDZAJĄCYCH powinna być dostępna w panelu> Ruch (lub statystyki lub statystyki):
Wcześniej istniały dwie metody pobierania kodu na Github: klonowanie lub pobieranie jako repozytorium .git zip lub przesyłanie pliku (na przykład binarnego) do późniejszego pobrania.
Podczas pobierania repozytorium (klonowania lub pobierania jako zip) Github nie liczy liczby pobrań ze względu na ograniczenia techniczne. Klonowanie repozytorium jest operacją tylko do odczytu. Nie jest wymagane uwierzytelnienie. Operację tę można wykonać za pomocą wielu protokołów, w tym HTTPS, tego samego protokołu, którego używa strona internetowa do wyświetlania repozytorium w przeglądarce. Bardzo trudno to policzyć.
Ostatnio Github wycofał funkcję pobierania. To dlatego, że rozumieją, że Github koncentruje się na tworzeniu oprogramowania, a nie na dystrybucji plików binarnych.
Gdziekolwiek mogę zobaczyć przykład tego w użyciu? Czy można go dodać do odznaki Github? Jeśli nie, czy byłoby możliwe użycie Google Analytics, aby w jakiś sposób uzyskać liczbę pobrań do plakietki Github?
eonista
6
Bardzo późno, ale oto odpowiedź, której potrzebujesz:
dlaczego moje zasoby nie mają treści, wyświetlają się tylko „[]”
Griffan
Czy wpisałeś wszystko poprawnie? Upewnij się, że masz wersje i sprawdzasz właściwy projekt.
LeChosenOne
Dowiaduję
Tak. Wydanie to plik binarny, który należy przekazać innym, a nie kod źródłowy dla programistów.
LeChosenOne
5
Czy to nadal działa? Dostaję:{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
eonista
5
Github API nie dostarcza już potrzebnych informacji. Spójrz na stronę z wydaniami , wspomnianą w odpowiedzi Stana Towiańskiego . Jak omówiliśmy w komentarzach do tej odpowiedzi, interfejs API Github zgłasza tylko pobranie 1 z trzech plików, które oferuje na wydanie.
Sprawdziłem rozwiązania podane w kilku innych odpowiedziach na to pytanie. Odpowiedź Vonc przedstawia zasadniczą część rozwiązania Michele Milidoni . Zainstalowałem jego skrypt gdc z następującym wynikiem
Jak widać wyraźnie, gdc nie zgłasza liczby pobrań plików tar.gz i zip.
Jeśli chcesz sprawdzić bez instalowania czegokolwiek, wejdź na stronę internetową, na której Somsubhra zainstalował rozwiązanie wymienione w jego odpowiedzi . Wpisz „stant” jako nazwę użytkownika Github i „mdcsvimporter2015” jako nazwę repozytorium, a zobaczysz takie rzeczy, jak:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
Niestety, ponownie tylko raport bez pobierania plików tar.gz i zip. Dokładnie przeanalizowałem informacje zwracane przez API Githuba, ale nigdzie ich nie podano. Liczba pobierania, którą zwraca API, jest obecnie daleka od ukończenia.
Zauważ, że działa to tylko w przypadku plików binarnych w wersji, a nie samego kodu źródłowego, co oznacza, że jeśli nie prześlesz żadnych innych plików do pobrania, to się nie liczy. Prawdopodobnie używa API Github z odpowiedzi LeChosenOne.
JoniVR
3
Skończyło się na napisaniu skryptu skrobaka, aby znaleźć liczbę klonów:
Spowoduje to pobranie danych z tego samego punktu końcowego, którego używa wykres klonów Githuba, i wypluje z niego sumy. Dane obejmują również liczby dzienne, zamień na .summarytylko .po to, aby zobaczyć te ładnie wydrukowane.
Na podstawie odpowiedzi VonC i Michele Milidoni stworzyłem tę bookmarklet, która wyświetla statystyki pobrań wydanych plików binarnych udostępnianych na githubie.
Uwaga: Ze względu na problemy z przeglądarkami związane z implementacją polityki bezpieczeństwa treści, bookmarklety mogą tymczasowo naruszać niektóre dyrektywy CSP i zasadniczo mogą nie działać poprawnie podczas uruchamiania na github, gdy CSP jest włączony.
Chociaż jest to wysoce odradzane, możesz wyłączyć CSP w Firefoksie jako tymczasowe obejście. Otwórz about: config i ustaw security.csp.enable na false.
O ile widzę, github liczy tylko pierwszy z trzech plików, które oferujesz do pobrania, np. Mdcsvimporter-beta-18.zip. Czy kiedykolwiek znalazłeś sposób, aby pobrać liczbę plików do pobrania, takich jak v19.zip?
Jan Ehrhardt
Mam tylko 3 wydania dla md2015, a v19 jest pierwszą, która się wyświetla. Wersja 19 pojawiła się po tym poście, więc nie jest tutaj pokazana. Czy trafiłeś na adres URL :-)? "download_count": 31, "created_at": "2015-03-26T04: 22: 13Z", "updated_at": "2015-03-26T04: 22: 13Z", "browser_download_url":
Cześć. Nie jestem nawet pewien, gdzie wymyśliłeś te adresy URL pobierania, ale to jest pytanie do github. Wydaje się, że liczy tylko udostępnione przeze mnie pliki (3), a nawet nie tworzy źródłowych plików ZIP, które tworzy (kolejne 2 na moje wydanie). Napisałem dla siebie aplikację java, którą uruchamiam, aby wykonać to wywołanie, odzyskać plik json, przeanalizować i wyświetlić tylko liczbę pobrań.
Stan Towianski
Szkoda. Najwyraźniej Github nie udostępnia potrzebnych nam informacji (już?). Z plików 3 * 3, które masz na github.com/stant/mdcsvimporter2015/releases , zgłasza tylko doenload_count pliku wydania, a nie plików * .tar.gz i * .zip. Podam osobną odpowiedź, ponieważ dotyczy ona wszystkich innych rozwiązań.
Dla tych, którzy używają WordPress, opracowałem tę wtyczkę: GitHub Release Downloads . Pozwala uzyskać liczbę pobrań, linki i więcej informacji o wydaniach repozytoriów GitHub.
Aby odpowiedzieć na pierwotne pytanie, krótki kod [grd_count user="User" repo="MyRepo"]zwróci liczbę pobrań dla repozytorium. Ta liczba odpowiada sumie wszystkich wartości liczby pobrań wszystkich wydań dla jednego repozytorium GitHub.
Oto rozwiązanie w języku Python korzystające z pip install PyGithubpakietu
from github import Github
g = Github("youroauth key") #create token from settings page
for repo in g.get_user().get_repos():
if repo.name == "yourreponame":
releases = repo.get_releases()
for i in releases:
if i.tag_name == "yourtagname":
for j in i.get_assets():
print("{} date: {} download count: {}".format(j.name, j.updated_at, j._download_count.value))
tar.gz
izip
pliki).Odpowiedzi:
Aktualizacja 2019:
Ústín „s odpowiedź wskazuje na:
/repos/:owner/:repo/traffic/clones
, aby uzyskać całkowitą liczbę klonów i podział na dzień lub tydzień, ale: tylko z ostatnich 14 dni./repos/:owner/:repo/releases/:release_id
do pobierania liczby pobrań zasobów (plików dołączonych do wydania), poledownload_count
wymienione poniżej, ale, jak skomentowano , tylko dla ostatnich 30 wersji.Zaktualizuj 2017
Nadal możesz używać interfejsu API GitHub, aby uzyskać liczbę pobrań dla swoich wydań (co nie jest dokładnie tym , o co pytano).
Zobacz pole „ Uzyskaj pojedyncze wydanie ”
download_count
.Nie ma już ekranu ruchu wskazującego liczbę klonów repozytorium.
Zamiast tego musisz polegać na usługach innych firm, takich jak:
www.netguru.co/gititback
), ale nawet to nie obejmuje liczby klonów.githubstats0
, O których mowa poniżej przez Aveek Saha .www.somsubhra.com/github-release-stats , o którym mowa poniżej .
Na przykład tutaj jest numer najnowszej wersji git dla systemu Windows
Aktualizacja sierpień 2014
GitHub proponuje również liczbę klonów do repozytorium na swoim wykresie ruchu:
Zobacz „ Clone Graphs ”
Aktualizacja październik 2013
Jak wspomniano poniżej przez andyberry88 i jak szczegółowo opisałem w lipcu zeszłego roku , GitHub proponuje teraz wydania (zobacz jego API ), które mają
download_count
pole .Michele Milidoni , w swojej (zaopiniowanej) odpowiedzi , używa tego pola w swoim skrypcie Pythona .
( bardzo mały wyciąg )
Oryginalna odpowiedź (grudzień 2010)
Nie jestem pewien, czy widzisz te informacje (jeśli w ogóle są zapisywane), ponieważ nie widzę ich w API repozytorium GitHub :
Możesz tylko sprawdzić, czy ma pliki do pobrania, czy nie.
źródło
download_count
polu Release API, które powinno zawierać liczbę pobrań wydania (które nie zawsze są zipem i nie są klonami)git clone
instancje. Skontaktuj się z obsługą GitHub, aby uzyskać potwierdzenie.Napisałem małą aplikację internetową w javascript, aby pokazać liczbę pobrań wszystkich zasobów w dostępnych wersjach dowolnego projektu na Github. Możesz wypróbować aplikację tutaj: http://somsubhra.github.io/github-release-stats/
źródło
GitHub wycofał obsługę pobierania i obsługuje teraz „Wydania” - https://github.com/blog/1547-release-your-software . Aby utworzyć wydanie, użyj interfejsu użytkownika GitHub lub utwórz tag z adnotacjami (http: // git-scm.com/book/ch2-6.html) i dodaj do niego informacje o wersji w GitHub. Następnie możesz przesłać pliki binarne, czyli „zasoby”, do każdej wersji.
Gdy masz już kilka wydań, interfejs API GitHub obsługuje uzyskiwanie informacji o nich i ich zasobach.
Poszukaj wpisu „download_count”. Więcej informacji można znaleźć pod adresem http://developer.github.com/v3/repos/releases/ . Ta część interfejsu API jest nadal w wersji zapoznawczej ATM, więc może ulec zmianie.
Aktualizacja listopad 2013:
Interfejs API wydań GitHub jest teraz poza okresem podglądu, więc nagłówek „Accept” nie jest już potrzebny - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
Jednak dalsze dodawanie nagłówka „Akceptuj” nie zaszkodzi.
źródło
downloads
pola w zasobach (przynajmniej przy użyciu tej techniki)?download_count
to pole wskazujące liczbę pobrań - na przykład w api.github.com/repos/twbs/bootstrap/releases . Warto zauważyć, że na tej liście pojawią się tylko „wydania”, tagi, które pojawiają się na stronie wersji repozytorium, nie pojawiają się na liście API, patrz developer.github.com/v3/repos/releases . Na przykład github.com/jquery/jquery/releases wyświetla kilka tagów w sekcji release, ale zwracana jest pusta lista dla api.github.com/repos/jquery/jquery/releases .count=0
)? Czy pokazuje tylko pole dla żądań klonowania? Zobacz to bezdownload_count
: api.github.com/repos/demisjohn/pytrimsetup/releases . Strona github jest tutaj: github.com/demisjohn/pyTRIMSetup/releasesbootstrap-XYZ-dist.zip
zasób, do któregodownload_count
odnosi się pole. Jeśli chcesz zobaczyć, ile osób pobiera wydanie, musisz przesłać plik zip wydania. O ile mi wiadomo, nie ma możliwości sprawdzenia, ile osób sklonowało / pobrało archiwum za pośrednictwem interfejsu API. Widok wykresów (ze stackoverflow.com/a/4339085/2634854 powyżej) może jednak dać ci to, czego szukasz.Liczba ODWIEDZAJĄCYCH powinna być dostępna w panelu> Ruch (lub statystyki lub statystyki):
źródło
Wcześniej istniały dwie metody pobierania kodu na Github: klonowanie lub pobieranie jako repozytorium .git zip lub przesyłanie pliku (na przykład binarnego) do późniejszego pobrania.
Podczas pobierania repozytorium (klonowania lub pobierania jako zip) Github nie liczy liczby pobrań ze względu na ograniczenia techniczne. Klonowanie repozytorium jest operacją tylko do odczytu. Nie jest wymagane uwierzytelnienie. Operację tę można wykonać za pomocą wielu protokołów, w tym HTTPS, tego samego protokołu, którego używa strona internetowa do wyświetlania repozytorium w przeglądarce. Bardzo trudno to policzyć.
Zobacz: http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
Ostatnio Github wycofał funkcję pobierania. To dlatego, że rozumieją, że Github koncentruje się na tworzeniu oprogramowania, a nie na dystrybucji plików binarnych.
Zobacz: https://github.com/blog/1302-goodbye-uploads
źródło
Jak wspomniano, GitHub API zwraca liczbę pobrań wydań plików binarnych. Opracowałem mały skrypt, aby łatwo uzyskać liczbę pobrań z wiersza poleceń.
źródło
Bardzo późno, ale oto odpowiedź, której potrzebujesz:
Następnie znajdź w danych identyfikator projektu, którego szukasz. Powinien znajdować się u góry, obok adresów URL. Następnie przejdź do
Pole o nazwie download_count to Twoja odpowiedź.
EDYCJA: W nazwie użytkownika i nazwie projektu duże znaczenie mają wielkie litery
źródło
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
Github API nie dostarcza już potrzebnych informacji. Spójrz na stronę z wydaniami , wspomnianą w odpowiedzi Stana Towiańskiego . Jak omówiliśmy w komentarzach do tej odpowiedzi, interfejs API Github zgłasza tylko pobranie 1 z trzech plików, które oferuje na wydanie.
Sprawdziłem rozwiązania podane w kilku innych odpowiedziach na to pytanie. Odpowiedź Vonc przedstawia zasadniczą część rozwiązania Michele Milidoni . Zainstalowałem jego skrypt gdc z następującym wynikiem
Jak widać wyraźnie, gdc nie zgłasza liczby pobrań plików tar.gz i zip.
Jeśli chcesz sprawdzić bez instalowania czegokolwiek, wejdź na stronę internetową, na której Somsubhra zainstalował rozwiązanie wymienione w jego odpowiedzi . Wpisz „stant” jako nazwę użytkownika Github i „mdcsvimporter2015” jako nazwę repozytorium, a zobaczysz takie rzeczy, jak:
Niestety, ponownie tylko raport bez pobierania plików tar.gz i zip. Dokładnie przeanalizowałem informacje zwracane przez API Githuba, ale nigdzie ich nie podano. Liczba pobierania, którą zwraca API, jest obecnie daleka od ukończenia.
źródło
Aby sprawdzić, ile razy plik / pakiet wersji został pobrany, przejdź do https://githubstats0.firebaseapp.com
Daje całkowitą liczbę pobrań i podział wszystkich pobrań na tag wydania.
źródło
Skończyło się na napisaniu skryptu skrobaka, aby znaleźć liczbę klonów:
Spowoduje to pobranie danych z tego samego punktu końcowego, którego używa wykres klonów Githuba, i wypluje z niego sumy. Dane obejmują również liczby dzienne, zamień na
.summary
tylko.
po to, aby zobaczyć te ładnie wydrukowane.źródło
Na podstawie odpowiedzi VonC i Michele Milidoni stworzyłem tę bookmarklet, która wyświetla statystyki pobrań wydanych plików binarnych udostępnianych na githubie.
Uwaga: Ze względu na problemy z przeglądarkami związane z implementacją polityki bezpieczeństwa treści, bookmarklety mogą tymczasowo naruszać niektóre dyrektywy CSP i zasadniczo mogą nie działać poprawnie podczas uruchamiania na github, gdy CSP jest włączony.
źródło
Aby to wyjaśnić:
dla tego projektu github: stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
z wydaniami na
https://github.com/stant/mdcsvimporter2015/releases
przejdź do http lub https: (dodano uwagę „api.” i „/ repos”)
https://api.github.com/repos/stant/mdcsvimporter2015/releases
otrzymasz to wyjście json i możesz wyszukać „download_count”:
lub w wierszu poleceń wykonaj:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
źródło
Jak już wspomniano, możesz uzyskać informacje o swoich wydaniach za pośrednictwem interfejsu API .
Dla tych, którzy używają WordPress, opracowałem tę wtyczkę: GitHub Release Downloads . Pozwala uzyskać liczbę pobrań, linki i więcej informacji o wydaniach repozytoriów GitHub.
Aby odpowiedzieć na pierwotne pytanie, krótki kod
[grd_count user="User" repo="MyRepo"]
zwróci liczbę pobrań dla repozytorium. Ta liczba odpowiada sumie wszystkich wartości liczby pobrań wszystkich wydań dla jednego repozytorium GitHub.Przykład:
źródło
Odpowiedź z 2019:
źródło
Zrobiłem aplikację internetową, która pokazuje statystyki wersji GitHub w czystym formacie: https://hanadigital.github.io/grev/
źródło
Dla tych, którzy potrzebują rozwiązania w Pythonie, napisałem prosty skrypt.
Skrypt w Pythonie:
Stosowanie:
ghstats.py [user] [repo] [tag] [options]
Wsparcie:
źródło
Oto rozwiązanie w języku Python korzystające z
pip install PyGithub
pakietuźródło