2014-10-31 80 views
1

我是Hadoop的新手。最近我一直在学习很多关于hadoop的知识。我已经成功地使用Streaming API并将twitter数据导入HDFS。现在我正在尝试使用Search API,以便获取历史推文,但我无法在线找到任何示例。有很多Streaming Api的例子,但找不到Search API的例子。如何使用Twitter搜索API与Hadoop?

+0

Twitter搜索API端点只会返回近7天内的推文。另一种方法是签约Gnip历史搜索(http://support.gnip.com/apis/historical_api/) – Cipriani 2014-10-31 19:01:31

+0

@LuisCipriani我知道,我只是想弄清楚如何搜索API。 – SaurabJ21 2014-11-03 17:51:04

回答

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上回购:https://github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/search/SearchTweets.java

此外,请确保您了解如何Work with Timelines