【问题标题】:Batch queries in twitter api?twitter api中的批量查询?
【发布时间】:2015-09-06 21:06:57
【问题描述】:

我需要运行一个返回用户列表的查询,以及有关这些用户的数据。假设我考虑一个人,我想知道他/她的所有追随者在哪里。这个查询:

http://api.twitter.com/1/followers/ids.json?screen_name={screen_name}

返回此人的关注者的用户 ID 列表。然后我可以将每个用户 ID 插入到这个查询中:

http://api.twitter.com/1/users/lookup.json?user_id={user_id}

获取有关用户的信息,包括位置。但这意味着如果此人有 1000 个关注者,我将不得不调用第二个查询 1000 次。最好做一个“加入”(因为它会在 SQL 中调用),我们可以在其中询问关注者及其位置,并在一个查询中执行此操作,但我不知道如何执行此操作。

这可能吗?此外,在要求用户查找时,是否可以指定您只需要一个字段而不是整个用户记录(有点像在 SQL 中要求 select single_field 而不是 select *)?

【问题讨论】:

    标签: twitter


    【解决方案1】:

    您可以在查询中枚举多个user_ids。示例:
    http://api.twitter.com/1/users/lookup.xml?user_id=351927492,8602462,132533067,16984020,131217651,125764179

    但是您每次查询的上限为 100 个值(名称、ID),因此对于拥有 1000 个关注者的用户,您必须进行 10 个查询。

    更新对于 1.1 版本的 API,正确的 URL 应该是 http://api.twitter.com/1.1/users/lookup.json?user_id=351927492,8602462,132533067,16984020,131217651,125764179

    【讨论】:

    • 谢谢。这不是一个完整的连接,但它确实将查询数量从 1001 减少到 11,所以我想这已经足够了。您是否了解另一个问题,将用户查找的结果限制在感兴趣的领域?
    • @JoshuaFrank 据我所知,这种可能性不是内置在 twitter API 中的,但由于 JSON 操作在大多数语言中都很容易,所以这不是问题(除非你知道数量下载的数据)。
    • 我不明白你的意思。结果你得到了 JSON,但如果它们发送的数据比你真正需要的多得多,就会浪费带宽。同意,从结果中获取您需要的数据并不难,但最好不要要求太多。
    • 我的意思是你不能在推特方面做到这一点。你可以在你的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    相关资源
    最近更新 更多