我正在尝试从一个拥有大约 150.000 个关注者的 Twitter 帐户中获取所有关注者 ID。后来我想映射他们的位置,但首先我需要所有这些 ID。
目前我正在使用这段代码:
long lCursorIDs = -1;
long[] fArray = new long[100];
do
{
fArray = twitter.getFollowersIDs(name, lCursorIDs).getIDs();
} while (twitter.getFollowersIDs(name, lCursorIDs).hasNext ());
try
{
PrintWriter pr = new PrintWriter(filenameOutput);
for (int i=0; i<fArray.length ; i++)
{
pr.println(fArray[i]);
}
pr.close();
System.out.println("Follower IDs collected and saved to file: " + filenameOutput );
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("No such file exists.");
}
这适用于关注者较少的用户。但是有那么多它总是返回一条错误消息 - 超出速率限制。我正在考虑每小时只获得一定数量的追随者ID,但我不确定如何做到这一点,而不是从第一个追随者开始每小时开始。另外,我不确定一个请求可以获得多少关注者。也许它是 100,与“lookupUser”方法一样,但我不确定.. 有什么想法/建议吗?
编辑:好的,我只是尝试获取具有 2700 个关注者的帐户的关注者 ID,并将它们正确存储在文本文件中。它也只“花费”了一个请求。比我将帐户名称更改为拥有 15500 个关注者的帐户,它再次崩溃并显示超出速率限制的消息。我不明白为什么,因为它只有大约 6 倍的追随者,但所有剩余的请求都被花费了。关于我做错了什么有什么想法吗?