Twitter поток - местоположение и ключевые слова - PullRequest
5 голосов
/ 07 ноября 2011

Я использую библиотеку 'Twitter4j', и мне просто интересно, можно ли вообще возвращать твиты в определенном месте и содержать определенное ключевое слово. Я заметил, что в официальной документации Twitter упоминается это:

Ограничительные рамки - это логические ИЛИ. Параметр location может быть объединен с параметрами track, но учтите, что все термины логически ORd, поэтому строка запроса track = twitter & amp; location = -122.75,36.8, -121.75,37.8 будет соответствовать любым твитам, содержащим термин Twitter (даже гео твиты) ИЛИ из района Сан-Франциско.

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

Библиотека Javadoc: http://twitter4j.org/en/javadoc/twitter4j/FilterQuery.html#locations

На данный момент у меня есть такой код фильтра twitter.filter(new FilterQuery().locations(sydney).track(keywords));

и также пробовал каждый на своей строке: twitter.filter(new FilterQuery().locations(sydney).track(keywords));

twitter.filter(new FilterQuery().track(keywords));

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

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

0 голосов
/ 18 февраля 2015

Не ответ, а Простой обходной путь :

Я знаю, что большинство людей не имеют GPS, когда пишут в твиттере, а другие не хотят делиться своим местоположением!

Но они все еще делятся своим местоположением !! Угадай как? В их профилях! Их родной город, их страна в основном видна, что может дать вам приблизительное место, откуда пришел твит! Вы можете запросить профиль пользователя и, таким образом, его / ее местоположение, используя Rest API

twitter.showUser(userScreenName).getLocation();

Поиск по всем ключевым словам, если местоположение, которое вы не хотите, не соответствует, просто откажитесь! Таким образом, вы можете получить большее количество твитов по крайней мере

...