Skip to content

Instantly share code, notes, and snippets.

@thisiskeanyvy
Last active July 31, 2022 20:14
Show Gist options
  • Save thisiskeanyvy/4ef68265d66bc06c0449f56f23b88f08 to your computer and use it in GitHub Desktop.
Save thisiskeanyvy/4ef68265d66bc06c0449f56f23b88f08 to your computer and use it in GitHub Desktop.
add comment
"""
Code by: Keany Vy KHUN
Description: Call github api to GET random repo
"""
import requests, json
from requests.packages.urllib3.exceptions import InsecureRequestWarning
from time import sleep
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
MAX_per_page = "1000" #max value for per page
MAX_page = "10" #max value for page
token = "your_oauth_token" #your github oauth token
per_page = MAX_per_page #url param
page = MAX_page #url param
lang = "c" #select by prog langage
"""def rand_lang():
lang = ['python', 'java', 'javascript', 'c', 'c++']"""
def call_api(i):
i = str(i)
api_users = f"https://api.github.com/search/repositories?q=language:{lang}&per_page={per_page}&page={page}"+"?access_token="+token
get_random_users = requests.get(url=api_users)
data_users = get_random_users.json()
get_users(data_users)
def get_users(data_users):
for i in range(len(data_users["items"])):
username = data_users["items"][i]["owner"]["login"]
get_repo(username)
if i < int(MAX_page):
i = i + 1
call_api(i)
else:
print("End of tasks...")
exit()
def get_repo(username):
api_repo = "https://api.github.com/users/"+username+"/repos"+"?access_token="+token
get_repo_from_user = requests.get(url=api_repo)
data_repo = get_repo_from_user.json()
for i in range(len(data_repo)):
repo = data_repo[i]["html_url"]
print(repo)
print("""
-------------------------------------
-------------------------------------
""")
"""
Get users
https://api.github.com/search/repositories?q=language:java&per_page=1000&page=10
MAX
"""
"""
Get Repos
https://api.github.com/users/donnemartin/repos
REPLACE donnemartin by user get api
"""
if __name__ == "__main__":
i = 1
call_api(i)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment