2017-01-05 9 views
0

このコードはtweepyを使用してtwitters REST APIからの情報を読み込むために書いたもので、レート制限を超えないで多くの情報を収集したいと考えています。この質問は、tweepy関連よりも概念的なものです。これまでのところ、これは私はそれをやって考えてきた唯一の方法である:一連の非カスケードif文を書くためのPythonicの方法

for i, tweet in enumerate(tweepy.Cursor(api.user_timeline, screen_name = "@twitter").items(1400)): 
    print(i, tweet.author.name) 
    if i == 200: 
     time.sleep(180) 
    if i == 400: 
     time.sleep(180) 
    if i == 600: 
     time.sleep(180) 
    if i == 800: 
     time.sleep(180) 
    if i == 1000: 
     time.sleep(180) 
    if i == 1200: 
     time.sleep(180) 
    if i == 1400: 
     sys.exit() 

しかし、ではなくif文の束を書いて、これは書くことができ、より神託方法はありますか?またはそれが壊れていない場合はそれを修正しないでください?

答えて

1
for i, tweet in enumerate(...): 
    if i % 200 == 0 and i > 0: 
     time.sleep(180) 

これがそう%が言うに役立っている「IDXが200によって分割されたときに、残りは0である」と「IDXは> 0である必要があり、」0

+0

を除く200のすべての倍数を発射しますその後眠る?そして、それは201のアイテムをつかみ、繰り返しごとに200ではないのはなぜですか? – e1v1s

関連する問題