我正在开发一个Web应用程序,可以在特定关键字的一段时间内获取所有推文。 Twitter4J API不会返回所有推文,但最相关。有没有办法获取特定关键字的所有推文?我已经尝试将查询结果类型设置为RECENT
,但这仍然无法获得所有内容。
我知道Twitters流API但我无法收集数据一段时间。搜索关键字可以用于任何事情,因此收集和存储如此多的数据是不合理的。
public static void main(String[] args) throws TwitterException {
Twitter twitter = TwitterFactory.getSingleton();
Query query = new Query("(amazon) AND (stock)");
query.setCount(100);
query.setLang("en");
query.setResultType(Query.RECENT);
query.setSince("2017-02-06");
QueryResult result = twitter.search(query);
System.out.println("PRINTING:");
int numberOfTweets = 0;
for (Status status : result.getTweets()) {
numberOfTweets++;
System.out.println("-----------------------------------");
System.out.println("@" + status.getUser().getScreenName() + "-" + status.getCreatedAt() + ":");
System.out.println(status.getText());
}
System.out.println(numberOfTweets);
}
答案 0 :(得分:2)
来自documentation on the Search API
请注意,Twitter的搜索服务以及扩展名为Search API并不是Tweets的详尽来源。 并非所有推文都会被编入索引或通过搜索界面提供。
你无法获得所有内容。