Простой способ с помощью Twitter API получить список подписчиков для очень большого списка пользователей? - PullRequest
2 голосов
/ 22 марта 2012

У меня около 200 000 подписчиков в Твиттере через несколько аккаунтов в Твиттере.Я пытаюсь найти аккаунты в Твиттере, за которыми следит большая часть моих подписчиков.

Просматривая API поиска, я думаю, что это будет очень медленным, если я что-то упустил.

40 звонков с использованием GET подписчиков / идентификаторов , чтобы получить список из 200 000 учетных записей.Тогда все, о чем я могу думать, - это делать 200 000 звонков GET friends / ids .Но при текущем ограничении в 150 звонков в час это займет 55 дней.Даже если бы я мог немного увеличить Twitter до своего лимита, это все равно будет медленно.Есть идеи?

1 Ответ

1 голос
/ 30 ноября 2012

Краткий ответ на ваш вопрос: нет, действительно, нет быстрого способа сделать это.Более того, API v 1.0 устарел где-то в марте, а v 1.1 - закон страны (подробнее об этом чуть позже).

Насколько я понимаю, вы хотите скомпилироватьсписок подписанных аккаунтов для каждого из 200 000 подписчиков.Затем вы хотите считать каждый из этих 200 000 оригинальных аккаунтов «избирателем», а затем общий набор аккаунтов, за которым следует любой из этих 200 000 аккаунтов, как «кандидатов».В конечном счете, вы хотите иметь возможность ранжировать этот список кандидатов «голосами» из списка 200 000.

Несколько вещей:

1.) Я полагаю, что вы на самом деле ссылаетесь на REST API , а не API поиска.

2.) Исходя из того, что вы сказали о получении 150 запросов в час, я могу заключить, что вы делаете неаутентифицированные запросы к рассматриваемым конечным точкам API.Это ограничивает вас только 150 звонками.В качестве кратковременного исправления (т. Е. В ближайшие несколько недель, до выхода версии 1.0), вы можете вместо этого отправлять аутентифицированные запросы, что повысит ваш почасовой лимит до 350 (источник: Документация по API Twitter ).Одно это увеличило бы количество ваших звонков более чем в два раза в час.

2.) Если вы ожидаете, что это потребуется на постоянной основе, все станет намного хуже.Как только API 1.0 больше не будет доступен, вы будете подвержены ограничениям API v 1.1, которые а.) Требуют аутентификации, независимо от того, что и б.) Ограничены для метода / конечной точки API.В частности, для GET друзей / идентификаторов и GET последователей / идентификаторов вы сможете совершать только 15 звонков за 15 минут или 60 в час .Это означает, что такой анализ, который вы хотите сделать, в основном станет невозможным (если только вы не будете обходить условия обслуживания API Twitter, используя несколько приложений / IP-адресов и т. Д.).Вы можете прочитать все об этом здесь .Достаточно сказать, что исследователи и разработчики, которые полагаются на эти конечные точки API для проведения анализа сети, не очень довольны этими изменениями, но Twitter, похоже, не смягчает свою позицию по этому вопросу.

Учитывая все вышеизложенноеМой лучший совет - использовать API версии 1.0, пока вы все еще можете, и начать делать аутентифицированные запросы.

Еще одна мысль - не уверен, каков ваш вариант использования, - но вы могли бы рассмотреть, скажем,1000 самых последних твитов от каждого из 200 000 фолловеров и последующее использование метаданных, содержащихся в каждом твите о упоминаниях.Упоминания о других пользователях потенциально более информативны, чем знание, что кто-то просто следует за кем-то еще.Вы все еще можете подсчитать наиболее упоминаемые счета.Преимущество здесь состоит в том, что при переходе с API 1.0 на 1.1 конечная точка для получения временных шкал для пользователей будет фактически иметь ограничение по API, увеличенное с 350 в час до 720 (Источник: Документация по API 1.1 Twitter )

Надеюсь, это поможет, и удачи!

Бен

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