I am trying to get URL for top 2000 Java repos sorted by most stars in Github
Code:
import requests
import json
urls = []
#increased per_page in the request results to 100, so 20 iterations * 100 = 2000 repos
for i in range(20):
#waiting for 75 secs every 10 requests to respect the github limit
if i%10==0 and i >0:
time.sleep(75)
r = requests.get('https://api.github.com/search/repositories?q=language:java&sort=stars&order=desc&per_page=100&page='+str(i))
print (r.ok)
if r.ok == True:
items = r.json()["items"]
for each in items:
urls.append(each["html_url"])
The request fails after 10, (r.ok==False) iterations every time so it does not cross 1000 repos. Any suggestions on the mistake would be great.
r.status_code. The likely cause is that you're exceeding rate limits, but I'd check since you're running out after 10 requests, so it could be something else.403