#api #streaming #twitter
#API #потоковая передача #Twitter
Вопрос:
Как я могу получить все прошлые твиты через потоковый API Twitter? Как вы, возможно, знаете, он отправляет твиты в реальном времени, а не прошлые. Полезный параметр count был отключен в 2010 году. REST API имеет настолько серьезные ограничения, что для получения всех прошлых твитов потребовалась бы целая жизнь. Есть ли какое-либо решение?
Комментарии:
1. Вы знаете, что потоковый API только отправляет твиты в режиме реального времени, и все же вы все еще хотите знать, как получить прошлый твит? Errrr?
2. Да, как я уже сказал, я это знаю. Был параметр count, но они отключили его. Возможно, что-то осталось, и я не знаю об этом.
3. Параметр count не отключен. Для этого просто требуется повышенный доступ.
4. Как я могу получить повышенный доступ?
5. @abraham Как ты прав. Я помню, когда у меня это перестало работать, но мне больше не нужна была потоковая передача. Никогда не замечал, что это все еще было в документах, пока вы не упомянули об этом.
Ответ №1:
К сожалению, вы не можете получить исторические твиты из потокового API, если у вас нет повышенного доступа (например, Firehose, Retweet, Link, Birddog или Shadow). Вы можете запросить дополнительный доступ, отправив api по электронной почте в Twitter dot com. Обратите внимание, что вы не можете использовать параметр track с count.
При использовании count доступны только последние 150 000 статусов, отправленных через Twitter. Цитируя документы Twitter:
В нефильтрованных потоках доставляются все рассмотренные статусы, поэтому запрошенное число является возвращенным числом. В отфильтрованных потоках запрашиваемое число — это количество статусов, которые применяются к предикату фильтра, а не количество возвращенных статусов.
Кроме того, этот циклический буфер, содержащий последние 150 000 твитов, зависит от скорости, с которой они выходят из Twitter. Итак, если текущая частота твитов составляет 600 твитов в секунду, буфер хранит данные только за последние 250 секунд, и если вас интересуют всего несколько пользователей, в буфере, вероятно, будет не более пары твитов, если таковые имеются.
Если вы аутентифицированы, REST API позволит вам получать 1 680 000 твитов в день, но реальный ограничивающий фактор заключается в том, что вы можете получать только 3200 твитов на пользователя. Поисковый API хуже, поскольку в настоящее время он, похоже, возвращает твиты стоимостью всего около четырех дней от определенной цели.
Примечание: Отредактированный после того, как Абрахам ввел count, по-прежнему доступен с расширенным доступом к потоковому API.
Комментарии:
1. 1 680 000 твитов в день? Откуда вы взяли этот номер?
2. @clumpter 350 запросов в час * 24 часа в сутки * 200 твитов / запрос = 1 680 000 твитов в день (при выборке из statuses / user_timeline, который разрешает 200 твитов / запрос).
Ответ №2:
Нашел этот вопрос, когда искал что-то связанное. Единственный известный мне способ получить все ваши прошлые твиты — запросить их у Twitter, ссылаясь на Закон о защите данных. Это (я думаю) работает только в том случае, если вы живете в Европе, и вы можете получать только свои собственные твиты, но процесс для этого можно найти здесь. Надеюсь, это поможет вам … мы с моей девушкой познакомились в Twitter, и оба успешно получили наши твиты, используя этот процесс, чтобы увидеть, как развивались наши отношения.
Ответ №3:
Во-первых, я должен сказать, что вы не можете найти исторические твиты с помощью потокового API. Во-вторых, насколько я знаю, вы могли бы использовать Search API, но есть некоторые ограничения для поиска всех исторических твитов, например, получить не более 200. и исторически максимум. в этих 200 твитах 2-недельной давности.
Однако вы можете реализовать систему, которая использует как потоковый, так и поисковый API как для исторических, так и для потенциальных твитов. Вы могли бы разработать два приложения, одно из которых может использовать только потоковую передачу, для которой требуется только одна учетная запись Twitter для аутентификации, в то время как второе приложение может использовать Search API с несколькими уникальными учетными записями Twitter, чтобы избежать проблемы с ограничением скорости.
С помощью этой платформы вы сможете получать почти 98% твитов, что является приемлемым показателем для этой работы. Если у вас возникнут дополнительные вопросы, дайте мне знать.
Всего наилучшего