我使用tweetstream gem
从Twitter Streaming API获取示例推文:
TweetStream.configure do |config|
config.username = 'my_username'
config.password = 'my_password'
config.auth_method = :basic
end
@client = TweetStream::Client.new
@client.sample do |status|
puts "#{status.text}"
end
但是,此脚本将在大约100条推文之后停止打印推文(脚本将继续运行)。可能是什么问题?
Twitter搜索API为文档中的内容设置某些任意(从外部)限制:
GET status/:id/retweed_by显示最多100个转发状态的成员的用户对象。
从gem中,该方法的代码是:
# Returns a random sample of all public statuses. The default access level
# provides a small proportion of the Firehose. The "Gardenhose" access
# level provides a proportion more suitable for data mining and
# research applications that desire a larger proportion to be statistically
# significant sample.
def sample(query_parameters = {}, &block)
start('statuses/sample', query_parameters, &block)
end
我检查了API文档,但没有看到"状态/样本"的条目,但看看上面的一个,我假设您已经访问了100个状态/xxx。
此外,如果我错了,请纠正我,但我相信Twitter不再接受基本的身份验证,您必须使用OAuth密钥。如果是这样的话,那就意味着你没有通过身份验证,搜索API也会以其他方式限制你,请参阅https://dev.twitter.com/docs/rate-limiting
希望能有所帮助。
<小时>好吧,我在那里犯了一个错误,我在看搜索API,而我本应该看流媒体API(我很抱歉),但我所说的一些事情可能是你问题的原因,所以我就到此为止。Twitter肯定已经脱离了基本的身份验证,所以我会先尝试解决这个问题,请参阅:
https://dev.twitter.com/docs/auth/oauth/faq
小时>