我试图分析标签为“内容营销”的推特。我第一次尝试用tweepy抓取20000条tweets,但是遇到了速率限制。所以我想取一个随机样本(或几个随机样本)。在
我不太熟悉通过API调用进行随机采样。如果我有一个已经包含数据的数组,我将从该数组中获取随机索引而不进行替换。但是,我不认为在没有速率限制的情况下,我不能首先创建这个数组。在
有谁能告诉我如何访问随机tweets(或者从API获取随机数据)吗?在
作为参考,下面是让我陷入利率限制炼狱的代码:
import tweepy
from tweepy import OAuthHandler
consumerKey = 'my-key'
consumerSecret = 'my-key'
accessToken = 'my-key'
accessSecret = 'my-key'
auth = OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessSecret)
api = tweepy.API(auth)
tweets = []
for tweet in tweepy.Cursor(api.search, q='#contentmarketing', count=20000,
lang='en', since='2017-06-20').items():
tweets.append(tweet)
with open('content-tweets.json', 'w') as f:
json.dump(tweets, f, sort_keys=True, indent=4)
这将阻止速率限制的影响,只需对代码进行以下更改:
我听说过有人随便发推特。但是你可以得到“永远”的微博,而不是所有的,所以这是完全一样的。在
使用公共搜索API,您可以在15分钟内完成450个请求(app auth)。所以你可以要求每2秒发100条微博。这是永无止境的。在
然后将“count”参数更改为100,并添加一个时间。睡觉(2) 公司名称:
参考号:https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html
相关问题 更多 >
编程相关推荐