Kaggle / kaggle-api

Official Kaggle API
Apache License 2.0
6.01k stars 1.06k forks source link

how to list completed competitions with kaggle API? #209

Open appleyuchi opened 4 years ago

appleyuchi commented 4 years ago

how to list completed competitions with kaggle API? Thanks in advance.

Doarakko commented 4 years ago

Use -p option in kaggle command or run kaggle api in python script.

This is sample and not official. print_all_kaggle_competitions_info.py

appleyuchi commented 4 years ago

@Doarakko Thanks for your help. But I can NOT open your link.

Doarakko commented 4 years ago

Sorry, check this code.

import time

from kaggle import KaggleApi

def new_kaggle_api():
    api = KaggleApi()
    api.authenticate()
    return api

def print_competition_keys():
    api = new_kaggle_api()
    competitions = api.competitions_list()
    for key in dir(competitions[0]):
        print('{}: {}'.format(key, getattr(competitions[0], key)))

def print_competitions_info(page=1):
    api = new_kaggle_api()

    competitions = api.competitions_list(sort_by='latestDeadline', page=page)
    time.sleep(1)

    for competition in competitions:
        # if you want to get more information, run print_competition_keys
        title = getattr(competition, 'title')
        print('{}'.format(title))

    if competitions != []:
        print_competitions_info(page=page+1)

if __name__ == "__main__":
    # print_competition_keys()
    print_competitions_info()
shangeethas commented 4 years ago

@Doarakko The above code lists down all competitions, not the completed ones.