如何从新Twitter的API中获取3200条推文,GetOldTweets3是什么替代方案?

2024-06-26 17:51:02 发布

您现在位置:Python中文网/ 问答频道 /正文

显然GetOldTweets3是一个用于访问旧tweet的python库,这对于像Tweepy这样的库是不容易实现的。但是最近,由于新的twitterapi,https://github.com/Mottl/GetOldTweets3/issues/98出现了一个尚未解决的问题

问题是GetOldTweets3在没有时间限制的情况下检索tweet的替代库是什么?根据我的经验,Tweepy无法检索超过200条推文


Tags: httpsgithubcom时间情况经验tweetissues
3条回答

我建议使用snscrap。然后可以将以这种方式收集的ID传递给api.statuses\u lookup。通过使用api.statuses\u查找,您可以通过Twitter api每15分钟下载300*100条推文

# you have a list with all Tweets ids created with snscrape: all_id_list
# split list in a list of list with 100 ids

id_list = [all_id_list[x:x+100] for x in range(0, len(all_id_list), 100)]

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
api = tweepy.API(auth)

# iterated over the list to get per request 100 tweets over the twitter api
for i in id_list:
     tweets = api.statuses_lookup(list(id_list[i]))

     for tweet in tweets:
          print(tweet.text)

200条tweet限制是每个请求的最大值。您可以通过使用返回的next参数来请求下一页200条推文,从而检索推文的连续“页面”。如果您使用的是标准搜索API,这些请求将停止返回超过一周的推文。使用Premium Search API full archive,您可以获得2006年的所有推文

这里详细解释:https://developer.twitter.com/en/docs/twitter-api/v1/tweets/search/api-reference

到目前为止,唯一仍然有效的推文抓取方法是snscrap的jsonl方法。 还是这个 https://github.com/rsafa/get-latest-tweets/

相关问题 更多 >