【问题标题】:Collecting follower/friend Ids of large number of users - Twitter4j收集大量用户的关注者/朋友 ID - Twitter4j
【发布时间】:2012-05-31 01:18:02
【问题描述】:

我正在开展一个研究项目,该项目分析社交网络中的封闭模式。 我的部分要求是收集受审查的数千名用户的关注者和关注 ID。

我遇到了速率限制超过 350 个请求/小时的问题。 只有 4-5 个请求,我的限制就超过了 - 即,当我收集的关注者数量超过 350 时。 即,如果我有 7 个成员,每个成员有 50 个关注者,那么当我收集只有 7 个成员的关注者详细信息时,我的比率超过了。(7*50 = 350)。

我在这里的 stackoverflow 中找到了一个相关问题 - What is the most effective way to get a list of followers using Twitter4j?

那里提到的解决方案是使用 lookupUsers(long[] ids) 方法,该方法将返回用户对象列表...但我在 API 中找不到任何方法来查找特定“的朋友/追随者的屏幕名称”用户”对象。我在这里遗漏了什么吗.. 有没有办法有效地收集成千上万用户的朋友/追随者?

(现在,我正在使用标准代码 - Oauth 身份验证(达到 350 个请求/小时),然后调用 twitter.getFollowersIDs)

【问题讨论】:

    标签: twitter social-networking twitter4j


    【解决方案1】:

    使用有限数量的 API 调用来实现这一点相当简单。

    这可以通过 两个 API 调用来完成。

    假设你想get all my followers

    https://api.twitter.com/1/followers/ids.json?screen_name=edent
    

    这将返回多达 5,000 个用户 ID。

    不需要 5,000 次调用即可查找它们!

    您只需将这些 ID 发布到 users/lookup

    然后您将取回所有关注我的用户的完整个人资料 - 包括用户名。

    【讨论】:

    • 感谢@Terence Eden...我正在发送一个请求,要求每个用户 ID 获取他们的详细信息。
    • 但是,一个请求中仍然只能获取 100 个屏幕名称。我的数据样本中有这么多用户,他们有 2000 多个关注者 - 因此收集他们的详细信息将消耗每个用户大约 20 个请求。此外,每个用户平均需要 20-30 秒。所以收集关注者/跟踪 32,000 个用户的详细信息将需要几个月的时间:/ 我认为将您的帐户列入白名单以便您每小时可以发出 20,000 个请求也不再可能了。
    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 2011-06-08
    • 2012-02-12
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多