0

だから私はツイッターボットを書いて、特定のサブレディットからトップの投稿を引き出してツイッターに投稿しました。

cron ジョブとして実行されます。一番上の投稿が前回実行したときと同じ場合、Twitter API は投稿が重複しているというエラーをスローします。このエラーをキャッチしてから、キーをインクリメントして関数を再実行します。次の投稿を試すには、コードをここに示します (API 資格情報は省略されています)

def pull_reddit_post(key):
    r = reddit.Reddit(user_agent='ghettoTwit')
    submissions = r.get_subreddit('ghettojerk').get_hot(limit=10)
    post = [str(x) for x in submissions]
    post = post[key]
    post = post.lstrip('0123456789: ')
    return post

def tweet_reddit_post(key):
    global api 
    post = pull_reddit_post(key)
    api.PostUpdates(pull_reddit_post(key))

try:
    key = 0
    tweet_reddit_post(key)
except:
    key = key + 1
    continue
else:
    break
4

1 に答える 1

1

try...except を編集してループ内に入れるだけです

key = 0

while True:
    try:
        tweet_reddit_post(key)
        break
    except:
        key += 1
于 2012-08-20T05:25:05.867 に答える