1

現在、すべての Github ユーザーの場所を取得しようとしています。場所を取得するために github3 python ライブラリを使用しています。しかし、API 呼び出しが 5K を超えると、API 使用超過エラーが発生します。これが私のコードです。

import github3
from datetime import datetime
import sys

def main(pswd):
    g = github3.login(username="rakeshcusat", password=pswd)
    current_time = datetime.now()   
    fhandler = open("githubuser_"+current_time.strftime("%d-%m-%y-%H:%M:%S"), "w")

    for user in g.iter_all_users():
        user.refresh()
        try:
            fhandler.write(" user: {0}, email: {1}, location: {2}\n".format(str(user), str(user.email), str(user.location)))
        except:
            print "Something wrong, user id : {0}".format(user.id);


    fhandler.close()        

if __name__ == "__main__":

    if len(sys.argv) == 2:

        main(sys.argv[1])
    else:
        print "Please provide your password"

最初にすべてのユーザー名をダウンロードすることでこれを行うことができます。これは単一の API 呼び出しのみになります。次に、ユーザーの場所を繰り返しダウンロードします。過剰使用に達した場合は、1 時間待ってから API 呼び出しを再開します。しかし、これは不十分な解決策のように思われ、間違いなくもっと時間がかかります (ほぼ 25 時間以上)。誰かがこれを行うためのより良い方法を提供できますか?

4

1 に答える 1