使用try-except块从twitter api中抓取数据



我正在使用推特ID从推特上抓取数据,但有些推特已经被删除,所以当我的代码到达这些推特ID 时会抛出一个错误

我如何使用";尝试除";跳过那些推特ID或用NaN填充我下面的代码:

tweet_ids = twitter_archive['tweet_id']
tweet_id = []
likes = []
retweets = []
try:
for ids in tweet_ids:
tweet = api.get_status(ids)
tweet_id.append(ids)
likes.append(tweet.favorite_count)
retweets.append(tweet.retweet_count)
except:
#I need help with the except block
tweet_info = pd.DataFrame({'tweet_id': tweet_id, 'likes': likes, 'retweets': retweets})

如果你想跳过那些推文。您可以在循环中添加try-except来检查tweet,这是一种更好的做法。将其添加到循环中的原因是,如果您也为丢失的tweet创建一个列表,那么您可以很容易地在其中添加丢失的ID。

failed_tweets = []
for ids in tweet_ids:
try:
tweet = api.get_status(ids)
tweet_id.append(ids)
likes.append(tweet.favorite_count)
retweets.append(tweet.retweet_count)
except:
failed_tweets.append(ids)

如果没有找到推文,这不会引发错误,它将继续在其他推文中循环而不会出现问题。同时,iti将把失败的推文保存到另一个名为failed_tweets的列表中。

最新更新