gpt4 book ai didi

api - 从 twitter API 为每个 userId 检索超过(~3000)条推文。

转载 作者:行者123 更新时间:2023-12-05 04:14:54 25 4
gpt4 key购买 nike

我是 Twitter 开发的新手。我正在尝试下载重要新闻机构的推文。我使用了 http://www.karambelkar.info/2015/01/how-to-use-twitters-search-rest-api-most-effectively 中提供的指南.下载推文。我知道 twitter api 对请求数量有一些限制(每 15 分钟 180 个请求),每个请求最多可以获取 100 条推文。因此,我希望以下代码在我第一次运行时能够获得 18K 条推文。但是,我只能为每个新闻机构获取大约 3000 条推文。例如 nytimes 3234 推文,cnn 3207。如果您能看一下我的代码并告诉我问题所在,我将不胜感激。

def get_tweets(api, username, sinceId):
max_id = -1L
maxTweets = 1000000 # Some arbitrary large number
tweetsPerReq = 100 # the max the API permits
tweetCount = 0

print "writing to {0}_tweets.txt".format(username)
with open("{0}_tweets.txt".format(username) , 'w') as f:
while tweetCount < maxTweets:
try:
if (max_id <= 0):
if (not sinceId):
new_tweets = api.user_timeline(screen_name = username, count= tweetsPerReq)
else:
new_tweets = api.user_timeline(screen_name = username, count= tweetsPerReq, since_id = sinceId)
else:
if (not sinceId):
new_tweets = api.user_timeline(screen_name = username, count= tweetsPerReq, max_id=str(max_id - 1))
else:
new_tweets = api.search(screen_name = username, count= tweetsPerReq, max_id=str(max_id - 1), since_id=sinceId)

if not new_tweets:
print "no new tweet"
break
#create array of tweet information: username, tweet id, date/time, text

for tweet in new_tweets:
f.write(jsonpickle.encode(tweet._json, unpicklable=False) +'\n')


tweetCount += len(new_tweets)
print("Downloaded {0} tweets".format(tweetCount))
max_id = new_tweets[-1].id
except tweepy.TweepError as e:
# Just exit if any error
print("some error : " + str(e))
break


print ("Downloaded {0} tweets, Saved to {1}_tweets.txt".format(tweetCount, username))

最佳答案

这些是 API 强加的限制。

如果你read the documentation , 你会看到它说

This method can only return up to 3,200 of a user’s most recent Tweets.

所以,答案是 - 普通 API 用户无法访问该数据。

关于api - 从 twitter API 为每个 userId 检索超过(~3000)条推文。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com