我正在使用 LINQ to Twitter API 为 Twitter 上的特定用户收集关注者。我能够获取所有 ID,并且通过这些 ID,我可以请求他们的屏幕名称和我需要的其他属性。
我在一批 100 个用户中执行此操作(据我了解 - 每个请求 100 个是限制)。
我也在使用 oAuth。
所以现在我可以获得 350 * 100 = 35000 个关注者的信息。
如果特定用户有 100000 多个关注者怎么办。我如何收集所有这些信息?
我正在使用 LINQ to Twitter API 为 Twitter 上的特定用户收集关注者。我能够获取所有 ID,并且通过这些 ID,我可以请求他们的屏幕名称和我需要的其他属性。
我在一批 100 个用户中执行此操作(据我了解 - 每个请求 100 个是限制)。
我也在使用 oAuth。
所以现在我可以获得 350 * 100 = 35000 个关注者的信息。
如果特定用户有 100000 多个关注者怎么办。我如何收集所有这些信息?
听起来您已经在进行用户查找,就像这样,但我提一下以防万一:
var users =
(from user in twitterCtx.User
where user.Type == UserType.Lookup &&
user.UserID== "123,456,789,...,777"
select user)
.ToList();
users.ForEach(user => Console.WriteLine("Name: " + user.Name));
如您所知,您一次只能有 100 个 ID,这意味着您需要发出大量请求,这将需要很长时间。查看 Twitter 的速率限制文档,其中解释了您可以发出多少请求以及(更重要的是)可能有助于避免较低速率限制的技术:
https://dev.twitter.com/docs/rate-limiting
在 LINQ to Twitter 中,您可以在查询后立即通过 TwitterContext 实例上的 Headers 和其他属性访问速率限制信息。
另一个可能的选择是查看 Twitter 的合作伙伴提供商,看看他们是否拥有您需要的数据:
https://dev.twitter.com/docs/twitter-data-providers
乔