2 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
我有超過(guò) 9000 個(gè)用戶 ID 的列表,并且我必須從每個(gè)用戶那里收集最多 500 條推文。我的代碼運(yùn)行了大約 5 天,只收集了 541 個(gè)用戶 ID 的推文。我怎樣才能從所有帳戶獲取推文?我的代碼做錯(cuò)了什么?
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
ids = df_all["id_str"].tolist()
api = tweepy.API(auth, wait_on_rate_limit=True)
for id_ in ids:
df = pd.DataFrame()
outtweets = []
try:
for tweet in tweepy.Cursor(api.user_timeline,id=id_).items(500):
outtweets.append({'id':id_,
'tw_id_str': tweet.id_str,
'tw_created_at':tweet.created_at,
'tw_favorite_count':tweet.favorite_count,
'tw_retweet_count':tweet.retweet_count,
'tw_text':tweet.text.encode("utf-8").decode("utf-8")})
df = pd.DataFrame(outtweets)
df.to_csv("tweets_of_ids.csv", mode='a')
except tweepy.TweepError as e:
continue
非常感謝您的幫助!

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
代碼很好,但 Tweepy 正在限制請(qǐng)求以避免超過(guò)速率限制(使用wait_on_rate_limit
)。
api?=?tweepy.API(auth,?wait_on_rate_limit=True)
這種方法可以防止應(yīng)用程序在超出限制時(shí)拋出錯(cuò)誤。
添加回答
舉報(bào)