【发布时间】:2015-11-20 16:51:53
【问题描述】:
实际上,我正在尝试构建一个 twitter4j 应用程序来创建一个小型 Twitter 网络。这是我的示例代码 sn-p:
//Monitoring hashtags
Query query = new Query("#anger");
query.setCount(100); //get 100 tweets
query.setSince("2010-01-01");
QueryResult result;
try {
result = twitter.search(query);
for (Status status : result.getTweets())
{
if (status.getText() != null)
{
// Getting followers list of a given user
ArrayList<User> followers = getFollowers(status.getUser().getScreenName());
for (User user : followers)
{
if (status.getUser().getScreenName().contains(user.getScreenName()))
{
System.out.println(status.getUser().getScreenName());
}
}
}
}
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我认为这段代码应该在“#anger”标签下打印用户关注者的existence(names)。但是,当我运行此代码时,它违反了 api 1.1 速率限制并出现异常(消息 - 超出速率限制,代码 - 88)。我该如何克服这个问题?
这里也是我的getFollowers()方法:
// Getting followers list of a given user
public static ArrayList<User> getFollowers (String usname)
{
Twitter twitter = initTwitter();
String username = usname;
ArrayList<User> followers = new ArrayList<User>();
long nextCursor = -1;
do {
PagableResponseList<User> usersResponse;
try
{
usersResponse = twitter.getFollowersList(username, nextCursor);
nextCursor = usersResponse.getNextCursor();
followers.addAll(usersResponse);
}
catch (TwitterException e)
{
e.printStackTrace();
}
} while (nextCursor > 0);
return followers;
}
【问题讨论】:
-
可能来自
getFollowers方法。可以发一下吗? -
我在@RamananR 的帖子中添加了 getFollowers() 方法。感谢您提供帮助。