如何通过twitter4j中的关键字搜索特定userTimeline的推文

时间:2017-04-18 23:03:53

标签: java twitter twitter4j

如果我想从特定用户那里获取最近的推文,我只能使用twitter4j中的用户名

twitter.getUserTimeline(username)

我还可以全局查看符合搜索条件的所有推文:

twitter.search(new Query(keyword))

我是否可以通过一个用户的特定关键字时间轴在所有推文中进行搜索?

1 个答案:

答案 0 :(得分:1)

是的,有可能使用Twitter Search API,但需要注意的是,它只会返回推迟7天的推文。

  

Twitter Search API是Twitter的REST API的一部分。它允许针对最近或流行推文的索引进行查询,其行为与Twitter移动或Web客户端(如Twitter.com搜索)中的搜索功能类似,但不完全相同。 Twitter Search API搜索过去7天内发布的最近推文的样本。

     

在介入之前,重要的是要知道Search API专注于相关性而非完整性。这意味着搜索结果中可能缺少某些推文和用户。如果要匹配完整性,则应考虑使用Streaming API。

要使用Twitter4J API search(query),查询将为from:<username> <keyword>

Streaming API可以用于搜索,但不会真正适用,因为它设计为在那时从许多用户返回大量推文。

彻底的方法是浏览用户时间线上的每条推文并自己进行搜索。这将涉及更多,但实际上并不那么难。 您可以使用GET statuses/user_timeline API(Twitter4J中的getUserTimeline()),然后在text字段中搜索您的关键字。