如何获得特定Twitter用户的整个用户时间线

问题描述 投票:0回答:1

所以我想出了这个脚本来从一个Twitter用户获得所有用户Tweet

import tweepy
from tweepy import OAuthHandler
import json

def load_api():
Consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
return tweepy.API(auth)

api = load_api()
user = 'allkpop'
tweets = api.user_timeline(id=user, count=2000)
print('Found %d tweets' % len(tweets))

tweets_text = [t.text for t in tweets]
filename = 'tweets-'+user+'.json'
json.dump(tweets_text, open(filename, 'w'))
print('Saved to file:', filename)

但是当我运行它时,每个请求只能得到200条推文。有没有办法获得2000条推文或至少超过2000条推文?

请帮助我,谢谢

python json api twitter tweepy
1个回答
0
投票
Twitter API具有请求限制。您正在使用的那个对应于Twitter statuses/user_timeline端点。该端点可以获取的最大数量记录为3200。还要注意,在15分钟的窗口中有一个最大请求数,这可能解释了为什么只得到2000个请求而不是最大请求。以下是一些您可能会感兴趣的观察结果:

    文档说最大计数是200。
  1. 有一个include_rts(包括转发)参数,可能返回更多值。尽管它是Twitter API的一部分,但我看不到Tweepy在哪里记录了该文件。
  2. 您可以尝试Tweepy Cursors,看看是否会带回更多物品。
  3. 由于15分钟的限制,您可以暂停直到下一个15分钟的窗口继续。就是说,我对您的用例了解不足,无法知道这是否可行。
© www.soinside.com 2019 - 2024. All rights reserved.