Лента нескольких пользователей Twitter на одном сайте без достижения ограничения скорости

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

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

*http://www.twackle.com/NFL/Aaron-Rodgers_1/tweets


person Andy    schedule 27.04.2011    source источник


Ответы (3)


API потоковой передачи — это то, что вам нужно, а точнее filter. Фильтр на уровне наименьших привилегий позволит вам следить за 5000 пользователей в режиме реального времени, без необходимости авторизации вашего приложения, и вы также можете отслеживать до 400 ключевых слов, используя этот метод.

Теперь, если вам также нужны исторические твиты, вам придется извлекать их из REST API (count здесь не очень помогает), но поскольку вы можете получить только последние 3200 твитов для пользователя через REST API, вы можете заполнить всю доступную историю твитов 16 вызовами statuses/user_timeline путем передачи значения параметра count, равного 200, и соответствующего разбиения на страницы.

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=2 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=3 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=4

С вашими 350 звонками в час на одну учетную запись Twitter вы можете заполнить примерно 22 полных пользовательских графика в час.

Что касается реализации, вас, вероятно, заинтересует Phirehose, клиентский интерфейс потокового API для PHP.

person arcain    schedule 28.04.2011

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

person Flask    schedule 27.04.2011
comment
Если я правильно понимаю - мне понадобится каждая учетная запись для предоставления доступа через приложение, я не буду знать пользователей, чтобы получить этот доступ. Представьте себе, как я отправил ссылку — потенциально сотни спортсменов. Если я даже попытаюсь перехватывать их твиты раз в час, я сразу перешагну порог в 150? - person Andy; 27.04.2011
comment
Аутентификация в качестве одного пользователя позволит вам получать обновления из любой общедоступной учетной записи с увеличением со 150 неаутентифицированных запросов в час до 350 запросов в час. - person abraham; 28.04.2011