2013-04-01 5 views
5

На основе v3 documentation я бы подумал, что это:Большинство «популярный» Python репо на GitHub

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

бы вернуть 100 лучшие Python хранилищ в порядке количества вилок по убыванию. Он фактически возвращает пустой (json) список репозиториев.

Это:

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

возвращает список хранилищ (в JSON), но многие из них не перечислены в качестве хранилищ Python.

Итак, очевидно, я неправильно понял API Github. Каков приемлемый способ получения верхних N репозиториев для определенного языка?

+0

Связано: http://stackoverflow.com/questions/12882049/list-all-java-repositories-on-github-using-api?rq=1 – snim2

+0

Это использование curl -X совершенно неверно. -X принимает следующее ключевое слово, но обратите внимание, что -X в основном используется неправильно: http://curl.haxx.se/docs/faq.html#curl_X_gives_me_HTTP_problems –

+0

Спасибо, я удалил это сейчас. На самом деле я использовал привязки Python для завивки, но детали сценария были неактуальны в вопросе, но спасибо за информацию. – snim2

ответ

3

Как сказал pengwynn - в настоящее время это нелегко выполнить через API GitHub. Однако посмотрите на этот альтернативный способ запроса с использованием проекта архива GitHub: How to find the 100 largest GitHub repositories for a past date?

По сути, вы можете запросить исторические данные GitHub с использованием SQL-подобного языка. Таким образом, если результаты в реальном времени не являются чем-то важным для вас, вы можете выполнить следующий запрос на https://bigquery.cloud.google.com/?pli=1, чтобы получить 100 лучших репозиториев Python по состоянию на 1 апреля 2013 года (по убыванию) по числу вилок:

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 

Я поместил результаты запроса в this Gist в формате CSV, а несколько верхних РЕПО являются:

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

Спасибо, это невероятно полезно! – snim2

3

Целью поиска по поисковому API является поиск репозиториев по ключевым словам, а затем последующий фильтрация этих результатов с помощью других необязательных параметров строки запроса.

Поскольку вам не хватает ?, вы передаете всю строку предполагаемого запроса как :keyword. Извините, мы не поддерживаем ваш предполагаемый поиск через API GitHub в это время.

+0

Спасибо. Я добавил ключевое слово сейчас и '?'. Если этот запрос не поддерживается, значит ли это, что документация API неверна или я просто неправильно понял его? – snim2

Смежные вопросы