2013-04-01 11 views
5

Na podstawie v3 documentation bym myślał, że w ten sposób:Większość „popularne” repo Python na GitHub

$ curl https://api.github.com/legacy/repos/search/python?language=Python&sort=forks&order=desc 

zwróciłby 100 najlepszych repozytoriów Python w kolejności malejącej liczby wideł. W rzeczywistości zwraca pustą listę (jsonów) repozytoriów.

to:

$ curl https://api.github.com/legacy/repos/search/python?language=Python&sort=forks 

zwraca listę repozytoriów (w JSON), ale wiele z nich nie są wymienione jako repozytoria Pythona.

Jasne, że źle zrozumiałem interfejs API Github. Jaki jest zaakceptowany sposób pobierania najlepszych repozytoriów dla określonego języka?

+0

Powiązane: http://stackoverflow.com/questions/12882049/list-all-java-repositories-on-github-using-api?rq=1 – snim2

+0

To użycie curl -X jest całkowicie błędne. -X przyjmuje następujące słowo kluczowe, ale zauważ, że -X jest najczęściej używany nieprawidłowo: http://curl.haxx.se/docs/faq.html#curl_X_gives_me_HTTP_problems –

+0

Dzięki, usunąłem to teraz. W rzeczywistości używałem powiązań Pythona do zwijania, ale szczegóły skryptu były nieistotne dla pytania, ale dzięki za informacje. – snim2

Odpowiedz

3

Jak powiedział pengwynn - obecnie nie jest to łatwe do zrealizowania za pomocą samego interfejsu API GitHub. Jednak przyjrzyjmy się temu alternatywnemu sposobowi kwerendy przy użyciu projektu GitHub Archive: How to find the 100 largest GitHub repositories for a past date?

W gruncie rzeczy można przesyłać dane historyczne GitHub za pomocą języka podobnego do języka SQL. Jeśli więc wyniki w czasie rzeczywistym nie są dla Ciebie ważne, możesz wykonać następujące zapytanie na temat https://bigquery.cloud.google.com/?pli=1, aby uzyskać 100 najlepszych replik Pythona od 1 kwietnia 2013 r. (Wczoraj), malejąc o liczbę rozwidleń:

SELECT MAX(repository_forks) as forks, repository_url 
FROM [githubarchive:github.timeline] 
WHERE (created_at CONTAINS "2013-04-01" and repository_language = "Python") 
GROUP BY repository_url 
ORDER BY forks 
DESC LIMIT 100 

mam umieścić wyniki kwerendy w this Gist w formacie CSV, a górne kilka repo to:

forks repository_url 
1913 https://github.com/django/django 
1100 https://github.com/facebook/tornado 
994 https://github.com/mitsuhiko/flask 
... 
+0

Dzięki, to niesamowicie przydatne! – snim2

3

Celem funkcji API do wyszukiwania repozytoriów jest wyszukiwanie repozytoriów według słów kluczowych, a następnie dalsze filtrowanie wyników za pomocą innych opcjonalnych parametrów ciągu zapytania.

Ponieważ brakuje numeru ?, podajesz cały zamierzony ciąg zapytania jako :keyword. Przykro mi, ale obecnie nie obsługujemy Twojego wyszukiwania za pomocą interfejsu API GitHub.

+0

Dzięki. Dodałem teraz słowo kluczowe i "?". Jeśli to zapytanie nie jest obsługiwane, oznacza to, że dokumentacja API jest nieprawidłowa lub źle ją zrozumiałem? – snim2

Powiązane problemy