2013-11-25 6 views
0

У меня есть требование для получения всех (я имею в виду «все») до определенной даты или между датами. Но код, который я написал, дает мне твиты, но только на сегодня. Я реализовал пейджинг, но без помощи я получаю несколько страниц, и данные не являются избыточными. Но данные по-прежнему ограничены для текущего дня. Я получаю только 600-700 твитов. И я использовал hasNext(), и он получает false после 6-7 страниц. Я довольно новичок в этом API, и у меня нет большой идеи о структуре, поэтому простите меня, если я действительно наивна.Неограниченный поиск твитов с использованием java

Heres код:

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); 

Требование для текста добычи полезных ископаемых на больших данных о количестве поэтому, чем больше твитов извлекается лучше. Конечно, я ограничусь с тех пор и до дат. Но если я установил даты для более старого временного интервала, твиты все еще будут получены только за последний день этого интервала.

Я здесь что-то не так? И есть ли что-то, что мне нужно добавить или изменить, чтобы получить все твиты? Я знаю ограничения ставок. Является ли это причиной того, что я получаю только ограниченные данные?

Заранее спасибо.

ответ

0

Вы должны использовать API поиска и Streaming API. Я также работаю над интеллектуальным анализом данных с данными twitter, и что я делаю, я просто реализовал два разных приложения для сбора твитов. Вы также можете сделать то же самое. Для потокового API требуется только одна учетная запись Twitter для токенов и файлов аутентификации. Однако у вас должно быть больше учетных записей для API поиска. Если у вас есть дополнительные вопросы, дайте мне знать.

+0

Привет, спасибо. Я думал, что буду использовать тот же метод. Но дело в том, какие ключевые слова мы будем использовать, это отфильтровать твиты, применяя множество ограничений контекста. Поэтому мы не будем получать непрерывный поток данных, что означает, что мы просто тратим время на постоянное соединение. Нам нужен по крайней мере мешок, полный данных, чтобы провести анализ, например, 10000 - 1000000 твитов. Это невозможно. Как-то твиттер ограничивает данные, которые вы получаете по счету, а также по дате. Это означает, что вы можете искать только твиты за несколько дней до текущей даты. –

+0

Я думал, что буду использовать ту же программу поиска api каждый день, чтобы собирать данные в течение определенного периода времени. Так что мы поймаем некоторые экспериментальные данные, пока, возможно, не получим специальных прав доступа из twitter. Btw делает твиттер предоставить какие-либо права? –

Смежные вопросы