¿Cómo get datos de todas las páginas en la API de Github con Python?

Estoy intentando exportar una list de reserva y siempre me devuelve información sobre la primera página. Podría extender el número de elementos por página usando URL + "? Per_page = 100" pero no es suficiente para get toda la list. Necesito saber cómo puedo get la list extrayendo datos de la página 1, 2, …, N. Estoy usando el module de Solicitudes, así:

while i<=2 r=requests.get('https://api.github.com/orgs/xxxxxxx/repos?page{0}&per_page=100'.format(i), auth=('My_user', 'My_passwd')) repo=p.json() j=0 while j<len(repo): print repo[j][u'full_name'] j=j+1 i=i+1 

Utilizo esa condición mientras que sé que hay 2 páginas, y trato de boostla de esa manera, pero no funciona

De los documentos de github :

Respuesta:

 Status: 200 OK Link: <https://api.github.com/resource?page=2>; rel="next", <https://api.github.com/resource?page=5>; rel="last" X-RateLimit-Limit: 5000 X-RateLimit-Remaining: 4999 

Obtiene los enlaces a la siguiente y última página de esa organización. Solo revisa los encabezados.

En las requestes de Python, puede acceder a sus encabezados con:

 response.headers 

Es un dictionary que contiene los encabezados de respuesta. Si el enlace está presente, entonces hay más páginas y contendrá información relacionada. Se recomienda recorrer esos enlaces en lugar de build los tuyos.

Puedes probar algo como esto:

 import requests url = 'https://api.github.com/orgs/xxxxxxx/repos?page{0}&per_page=100' response = requests.get(url) link = response.headers.get('link', None) if link is not None: print link 

Si el enlace no es Ninguno, será una cadena que contiene los enlaces relevantes para su recurso.