2011-01-03 2 views
2

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

+1

... почему бы ... – seekerOfKnowledge

+0

Причина, по которой я хотел бы узнать, возможно ли это в течение определенного периода времени ... проект колледжа в теории сложности – Denver

+0

Вы запрашиваете информацию о [Twitter Streaming API] (http: //dev.twitter.com/pages/streaming_api)? –

ответ

4

Помимо случая «зачем вам это делать?» и «это приведет к вашему IP-запрету» и т. д.

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

Опять же, это звучит как ужасная идея реализовать на практике. В июле 2010 года у Twitter был 190 million users!

+0

Спасибо за ваш ответ! Но обход - это не вариант. Понимаете, я пытаюсь решить эту проблему, используя tr API Twitter, так как мой профессор утверждает, что у него есть оптимальное решение, но нет никакого способа создать для него «оптимальный» алгоритм (на мой взгляд). Таким образом, исключая факты реального мира, подобные тому, что может быть заблокирован, я просто пытаюсь решить эту теоретическую задачу и определить ее сложность. – Denver

+1

@Denver Это * будет * требовать от вас использовать API для получения списка следящих/следящих. Без дальнейшей конкретной информации о том, что вам нужно, люди будут пытаться понять, чего вы пытаетесь достичь. Кроме того, объединение API и теоретических данных не имеет большого смысла. – marcog

2

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

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

+0

Чтобы внедрить немного программирования API реального мира, Twitter остановит вас после того, как вы перейдете к большему количеству людей, когда вы доберетесь до 2000 человек. Чтобы обойти это, вам необходимо управлять следующим процессом, чтобы получить доступ к этому лимиту или нанять консультанта API Twitter, как и я. :) –

+1

Или зарегистрируйтесь 12 500 учетных записей :) – marcog

0

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

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