【问题标题】:Max Twitter ID?最大推特 ID?
【发布时间】:2011-05-23 07:54:53
【问题描述】:

有谁知道 Twitter 上的最大用户 ID 是多少?也就是说,现在大约有 2 亿用户,那么 id 的范围会在 1 到 2 亿之间吗?我发现在那个范围内有些 id 没有被使用。

我有一个 python 脚本,它基本上是在访问以下 url:

"/1/statuses/user_timeline/" + str(user_id) + ".json?count=200"

谢谢,

【问题讨论】:

    标签: python twitter oauth


    【解决方案1】:

    Twitter API 表示id 是一个整数“大于 53 位”,并且 64 位整数可以安全地保存该值。

    尽管如此,还是建议使用字符串表示id_str“以防万一”!?!

    【讨论】:

    【解决方案2】:

    没有人知道。

    关于 Twitter 真正拥有多少用户的问题进行了讨论。

    进行了很多测试以及对 id 范围等的探测。

    结果是id在很长一段时间内都是按顺序递增的,但随后它们之间有大约10个左右的常规间隙,有时也似乎是完全随机的。

    我不知道收集这些信息的准确性如何,目标是别的,但我想你明白了。

    从技术角度来看,我不希望在像 twitter 这样大的网络中还有其他任何东西。 我很确定 ID 是分片的,这意味着它们被分配在特殊的区域或服务器中。 因此,例如,如果您的 ID 等于 mudolo 17,我知道我必须查看该服务器。或者在那个国家。什么的。

    或者,当新用户注册时,服务器可能只有自己的前缀或残留类来分配 id,以避免复制问题。

    在大多数情况下,像这样泄露信息也不常见,或者“不太酷”。 不要问我为什么,这只是我的经验,公司希望尽可能少地向外界展示信息。

    这包括没有可复制的跨参数 ID 递增系统。

    它也容易受到某种有害攻击、不需要的爬网等类似的攻击。

    所以我的意思是。

    没有办法给你一个可靠的答案。它不应该是必要的。 你应该设计你的应用程序来处理每一种可能的情况。

    如果你想知道你应该让你的数据库字段有多大才不会发生任何冲突。

    我认为现在整数应该没问题。 (即使在 32 位系统上)

    但随时准备升级。

    特别是不要假设它会保持数字。它只是一个独特的字符串!

    【讨论】:

      【解决方案3】:

      Twitter API 不保证 user_id 是一个单调递增的值。它只是一个“引用对象的永久唯一 ID”(来自 API docs)。这意味着他们将来可能会重用(已删除用户的)ID,甚至以半随机方式分配值。 ID 甚至可能不是按顺序分配的。

      过度解读这个值,例如表示注册用户的数量可能不是很可靠。

      【讨论】:

      • 好的,谢谢,看来我也应该使用 user_id 来防止与有效 ID 混淆。
      猜你喜欢
      • 2021-10-27
      • 2016-04-14
      • 2015-05-24
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 2016-12-03
      相关资源
      最近更新 更多