Я новичок в использовании этой библиотеки, и я делаю свой первый тест в Java. У меня две проблемы. Первая из них заключается в том, что запрос возвращает только 100 твитов, когда я установил query.setCount (100000);
Другая проблема заключается в том, что некоторые поиски по хештегам не возвращают результаты, но тот же поиск в Твиттере возвращает много твитов. Например, если мой запрос с # Coronavid19, у меня 98 результатов. Если запрос с #martesdetetas не возвращает твиты, но тот же поиск в Twitter нашел много твитов. Есть ли какие-то ограничения в отношении некоторых хэштегов, чтобы им не разрешали их искать? Или я что-то не так делаю?
Это мой код
//Metodo de busqueda que regresara todos los tweets relacionados a la busqueda de keywords
public List searchForWord(String word){
//List que contendra los tweets que arroje la busqueda
List tweets = new ArrayList();
try {
//Inicializamos el objeto Twitter desde la clase Factory
Twitter twitter = new TwitterFactory().getInstance();
//Pasamos ConsumerKey and ConsumerSecret
twitter.setOAuthConsumer(consumerKeyStr, consumerSecretStr);
//Creamos el objeto AccessToken con los valores previamente inicializados
AccessToken accessToken = new AccessToken(accessTokenStr,
accessTokenSecretStr);
//Establecer el objeto AccessToken al objeto Twitter
twitter.setOAuthAccessToken(accessToken);
//Definir el objeto query. El parametro del contructor de QUery es la palabra a buscar dentro de Twitter
Query query = new Query(word);
//Definir el tamano del resultset. En este ejemplo, el tamano se ha establecido en 10,000 entradas
query.setCount(100000);
//Ejecutar el metodo search en el objeto twitter. Los resultados se pasan a un objeto QueryResult que contiene un objeto Status por cada Tweet.
QueryResult result = twitter.search(query);
int total = 0;
//Agregamos los resultados al objeto List que regresaremos
for(Status status: result.getTweets()){
System.out.println(status.getUser().getName()+" - "+status.getText());
total++;
if(status.getMediaEntities().length > 0){
MediaEntity[] mediaFiles = status.getMediaEntities();
for (MediaEntity mediaEntity : mediaFiles) {
System.out.println("-->"+mediaEntity.getMediaURL());
}
}
}
System.out.println("TOTAL: "+total);
} catch (TwitterException te) {
//Imprime cualquier error que pueda ser asociado con este codigo
System.out.println(te.getStatusCode());
te.printStackTrace();
}
//Regresa una List con todos los tweets parte de la busqueda.
return tweets;
}
public static void main(String[] args) {
//Instanciando la clase actual a un objeto
App search = new App();
//Vista previa de los twwts encontrados hacia la consola principal
search.searchForWord("#martesde");
}