ПОДХОД 1. Повторные запросы к общедоступной временной шкале не дадут вам все твиты, их слишком много. Вы получите 20 последних, и серверы твиттера будут кешировать их некоторое время, поэтому даже если вы продолжите использовать их, вы получите те же результаты. У них есть канал XMPP, который будет выдавать вам обновления, но вы должны подать заявку на доступ.
ПОДХОД 2 и ПОДХОД 3 - В любом из этих случаев вы полагаетесь на то, что пользователи предоставляют правдивую информацию. Ничто не мешает пользователю оставить это или лгать.
Независимо от вашего подхода, вы также должны следить за ограничениями API, если вы собираетесь делать запросы повторно. Подумайте о том, чтобы подать заявку на учетную запись в белом списке, которая даст вам 20 000 запросов в час вместо 100, которые все получают по умолчанию.
Тем не менее, 2 & 3 даст вам лучшие результаты, чем 1. Получение доступа к каналу xmpp "firehose" и использование местоположения или геокода, вероятно, даст вам наилучшие результаты. Вы, вероятно, никогда не получите 100% надежную и совершенную информацию, даже с этим, но это, вероятно, лучшее, что вы можете сделать.
Вы также можете посмотреть на gnip.com. У них есть доступ к пожарному шлангу в твиттере, и я верю, что они могут каким-то образом его отфильтровать и упаковать. Признаюсь, я не очень много знаю об их обслуживании, но это в моем списке задач, чтобы узнать. Возможно, вам придется заплатить за это.