使用java无限推特搜索

时间:2013-11-25 07:32:29

标签: java twitter twitter4j

我要求在给定日期或日期之间检索所有(我的意思是“全部”)。 但我写的代码给了我推文,但仅限于今天。我实现了分页,但没有帮助我得到多个页面,数据不冗余。但目前数据仍然有限。我只得到600-700条推文。我使用hasNext()并在6-7页后检索错误。 我对这个API很新,我对框架不太了解,所以请原谅我,如果我听起来真的很天真。

下面是代码:

Query search=new Query(searchKeyWord);
    QueryResult results;
    search.setCount(100);
    //search.setMaxId(-1);
    search.setSince("2013-01-01");
    search.lang("en");
//  search.setUntil("2013-05-01");
    int i=0;
    //TwitterFactory.getSingleton().search(search);//
    do{
        i++;
        System.out.println("Page "+i);
        results=tweety.search(search);

    for(Status stats : results.getTweets()){

    Text=stats.getText();
    Text=Text.replace("\n", " ");
    writer.append(stats.getUser().getScreenName()+";"+Text+";"+stats.getCreatedAt()+";"+"\n");  

    }

    search=results.nextQuery();


    } while(search!=null);

要求对大量数据进行文本挖掘,以便检索的推文越多越好。当然,我会限制从那时起和直到日期。但是,如果我设置较旧时间间隔的日期,则仍会仅在该时间间隔的最后一天检索推文。

我在某处错了吗?我需要添加或更改以获取所有推文吗?我知道速率限制。这是我收到有限数据的原因吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您应该同时使用搜索API和Streaming API。我也在使用Twitter数据进行数据挖掘,我正在做的是我只是实现了两个不同的应用来收集推文。你也可以做同样的事情。流API只需要一个Twitter帐户来进行令牌和身份验证。但是,您应该拥有更多的搜索API帐户。如果您有更多问题请告诉我。