最大Twitter ID?

2 投票
3 回答
3665 浏览
提问于 2025-04-16 08:20

有没有人知道Twitter上用户ID的最大值是多少?现在大约有2亿用户,那这些ID的范围是从1到2亿吗?我发现这个范围内有些ID并没有被使用。

我有一个Python脚本,基本上是访问以下网址:

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

谢谢!

3 个回答

0

没人知道这个。

之前有讨论过关于推特到底有多少用户的问题。

进行了很多测试,还探查了ID的范围等等。

结果显示,这些ID一开始是按顺序增加的,但后来之间会有大约10个的规律性间隔,有时候看起来又完全随机。

我不知道这些信息收集得有多准确,目标也不一样,但我想你明白我的意思。

从技术角度来看,我觉得在像推特这样的大网络中,情况应该就是这样。

我很确定这些ID是分片的,也就是说它们是在特定的区域或服务器上分配的。

比如说,如果你的ID是mudolo 17,我就知道要去那个特定的服务器上查找,或者在那个特定的国家,或者其他什么地方。

或者服务器可能会有自己的前缀或类别,用来给新用户分配ID,以避免重复的问题。

在大多数情况下,泄露这种信息是不常见的,或者说“不是那么酷”。

别问我为什么,这只是我的经验,很多公司希望对外展示的信息尽量少。

这包括不拥有一个可重复的透明ID递增系统。

这也容易受到一些有害攻击、不必要的爬虫等问题的影响。

所以我的意思是。

没有办法给你一个可靠的答案。而且这也不应该是必要的。

你应该设计你的应用程序来应对各种可能的情况。

如果你想知道你的数据库字段应该多大,以避免冲突。

我觉得整数类型现在应该没问题。(即使在32位系统上)

但一定要随时准备升级。

特别是不要假设它会一直是数字。它只是一个唯一的字符串!

4

Twitter的API说明说,id是一个大于53位的整数,并且使用64位的整数来存储这个值是安全的。

不过,建议使用字符串形式的id_str,这样做是为了“更安全一些”!这是什么意思呢?

2

Twitter的API并不能保证用户ID是一个不断增加的数字。它只是一个“永久唯一的ID,用来引用一个对象”(来自API的文档)。这意味着将来他们可能会重新使用一些ID(比如被删除用户的ID),或者甚至以半随机的方式分配这些值。ID的分配可能并不是按顺序来的。

所以,不要过于解读这个值,比如用它来表示注册用户的数量,这样的做法可能并不可靠。

撰写回答