如何在Hadoop上使用Twitter Search API?

时间:2014-10-31 18:19:09

标签: hadoop twitter mapreduce

我是Hadoop的新手。我最近一直在学习很多关于hadoop的知识。我已成功使用Streaming API并将twitter数据导入HDFS。现在我正在尝试使用Search API,因此我可以获得历史推文,但我在网上找不到任何示例。 Streaming Api有很多例子,但找不到Search API的例子。

1 个答案:

答案 0 :(得分:2)

你没有提到编程语言,所以我假设你要使用Java。建议使用Twitter4j库,其文档包含一些搜索示例,例如:

public class SearchTweets {
/**
 * Usage: java twitter4j.examples.search.SearchTweets [query]
 *
 * @param args search query
 */
public static void main(String[] args) {
    if (args.length < 1) {
        System.out.println("java twitter4j.examples.search.SearchTweets [query]");
        System.exit(-1);
    }
    Twitter twitter = new TwitterFactory().getInstance();
    try {
        Query query = new Query(args[0]);
        QueryResult result;
        do {
            result = twitter.search(query);
            List<Status> tweets = result.getTweets();
            for (Status tweet : tweets) {
                System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
            }
        } while ((query = result.nextQuery()) != null);
        System.exit(0);
    } catch (TwitterException te) {
        te.printStackTrace();
        System.out.println("Failed to search tweets: " + te.getMessage());
        System.exit(-1);
    }
}

Github repo:https://github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/search/SearchTweets.java

另外,请务必了解如何Work with Timelines