Last active
July 31, 2022 20:14
-
-
Save thisiskeanyvy/4ef68265d66bc06c0449f56f23b88f08 to your computer and use it in GitHub Desktop.
add comment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
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