users repositories example github-api

github-api - repositories - github api service



¿Cómo obtener una lista de los repositorios de github de tendencia por github api? (2)

Actualmente no hay una API de GitHub para obtener una lista de repositorios de tendencias. La única forma es rastrear los elementos de la página web por selectores. Puede abrir https://github.com/trending en Chrome y ejecutar el siguiente código en la consola devtools:

$$(''ol.repo-list li h3'').forEach(el => console.log(el.innerText));

Esto dará salida a la lista de nombres de repositorios de tendencias. Para hacerlo más automatizado, considere Headles Chrome u otras herramientas similares.

También hay varios proyectos que ya han resuelto esta tarea en diferentes idiomas. Por ejemplo:

Quiero obtener una lista de repositorios de tendencias de github como este: https://github.com/trending?l=java pero no encontré ningún método de solicitud similar en https://developer.github.com/v3/ , ¿cómo puedo obtenerlo? json responce con tendencias repos?


GitHub parece usar su API para escribir la página de tendencias y no presentarla como una API en particular. Necesitas usar la API de búsqueda de repositorio . He seguido los ejemplos en esta página , que podrían resolver sus necesidades al:

# We''ll use the `date` command to get the date for "7 days ago" $ date -v-7d ''+%Y-%m-%d'' # => 2013-07-15 curl -G https://api.github.com/search/repositories --data-urlencode "sort=stars" --data-urlencode "order=desc" --data-urlencode "q=language:java" --data-urlencode "q=created:>`date -v-7d ''+%Y-%m-%d''`"

Y luego ir de allí. También puede hacer su vida mucho más fácil instalando jq en OS X u otras plataformas para obtener resultados más bonitos:

curl -G https://api.github.com/search/repositories --data-urlencode "sort=stars" --data-urlencode "order=desc" --data-urlencode "q=language:java" --data-urlencode "q=created:>`date -v-7d ''+%Y-%m-%d''`" | jq ".items[0,1,2] | {name, description, language, watchers_count, html_url}" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- -- 77 161k 77 125k 0 0 131k 0 0:00:01 --:--:-- 0100 161k 100 161k 0 0 163k 0 --:--:-- --:--:-- --:--:-- 163k { "name": "vibrant.js", "description": "Extract prominent colors from an image. JS port of Android''s Palette.", "language": "JavaScript", "watchers_count": 1466, "html_url": "https://github.com/jariz/vibrant.js" } { "name": "JSPatch", "description": "JSPatch bridge Objective-C and JavaScript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine.", "language": "Objective-C", "watchers_count": 830, "html_url": "https://github.com/bang590/JSPatch" } { "name": "KRVideoPlayer", "description": "类似Weico的播放器,支持竖屏模式下全屏播放", "language": "Objective-C", "watchers_count": 524, "html_url": "https://github.com/36Kr-Mobile/KRVideoPlayer" }