Оптимальный алгоритм для отслеживания всех пользователей Twitter - PullRequest
2 голосов
/ 04 января 2011

Каков оптимальный алгоритм для отслеживания всех пользователей Twitter с помощью Twitter API? Я сосредоточился на этом вопросе и не могу найти оптимального итеративного подхода к этому. Заранее спасибо за любые предложения.

Ответы [ 3 ]

4 голосов
/ 04 января 2011

Кроме случая "зачем ты это делаешь?" и "это позволит заблокировать ваш IP" и т. д.

Это не должно сильно отличаться от написания веб-сканера. Я бы начал с поиска нескольких корневых источников и размещения их подписчиков / подписчиков в очереди с приоритетами, упорядоченной по количеству подписчиков / подписчиков, которых имеет пользователь, игнорируя подписчиков / подписчиков, которых вы уже посетили. Затем посетите пользователей, используя очередь приоритетов, чтобы найти пользователя с самыми новыми подписчиками / подписчиками, сохраняя обновленный pq по мере продвижения.

Опять же, это звучит как ужасная идея для реализации на практике. Twitter имел 190 миллионов пользователей в июле 2010 года!

2 голосов
/ 04 января 2011

Пока у вас есть теоретическая машина, поэтому время и количество вызовов API не имеют значения, решение простое.У каждого пользователя есть уникальный идентификатор.Пользователь, за которым я следую и который создал свою учетную запись на прошлой неделе, имеет идентификатор 229 863 592, поэтому давайте использовать 250 000 000 в качестве теоретической конечной точки.Вы можете начать с идентификатора 1 и использовать API для отслеживания каждого пользователя от 1 до 250000000. Любой, кто удалил свою учетную запись или был приостановлен, вернет ошибку, когда вы попытаетесь подписаться на него.API Twitter для следующих 5000 пользователей одновременно по идентификатору:

http://dev.twitter.com/doc/post/friendships/create

0 голосов
/ 04 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...