我正在使用twitter4j从Twitter检索推文。据我们所知,我们只能在7天内检索推文。此外,我们只能获得100条实时推文。但我想要检索更多。搜索后,我发现我们可以使用setSince
和setUntil
来获取超过100条推文。但是当我使用setSince
和setUntil
时,我仍然只能获得实时推文。此外,我想知道如何解析我的推文 json格式?
这是我的代码:
public static void main(String[] args) throws TwitterException, IOException, ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException
{
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("XXX")
.setOAuthConsumerSecret("XXX")
.setOAuthAccessToken("XXX")
.setOAuthAccessTokenSecret("XX");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
Query query = new Query("KEYWORD");
query.setCount(100);
query.setSince("2013-06-27");
query.setUntil("2013-07-02");
query.geoCode(new GeoLocation(XXX, XXX), 200, Query.KILOMETERS);
QueryResult result = twitter.search(query);
System.out.println(result);
}
答案 0 :(得分:0)
例如,如果您尝试在搜索中获取1000条最新推文,则应将query.setMaxId()
用于上一批中最低的# - 1。如果您在上次查询后尝试获取新的(呃)推文,则应使用query.setSinceId()
从上一批result.getMaxId()
中返回的值开始。
请参阅here
答案 1 :(得分:0)
您可以使用getUserTimeline(userid, page)
int tweetCount = 250;
long userId = 12312323;
twitter.getUserTimeline(userId, new Paging(1, tweetCount));