Я не получаю свои собственные статусы через Streaming API - это нормально?
У меня есть сервис, который успешно контролирует статусы Twitters через Streaming API (filter
конечная точка с track
параметр). Все работает хорошо, и я получаю много твитов с предопределенными ключевыми словами. Единственная проблема в том, что я не получаю свои твиты с этими ключевыми словами. Это нормально? Должен ли я иметь отдельную специальную учетную запись для приложения, если оно должно собирать ВСЕ соответствующие данные в Twitter, включая мои сообщения?
Заранее спасибо.
ОБНОВИТЬ
Я нашел частичный ответ здесь, и я публикую часть объяснения персонала Twitter ниже, для справки:
В частности, [узел:10389] вы фильтруете по пожарному шлангу с максимальным результирующим объемом в 1% от общего количества твитов в тот момент... Другими словами, если отслеживаемые вами ключевые слова составляют менее 1% от пожарного шланга, вы получите все соответствующие твиты, в противном случае вы будете ограничены. Чтобы дать вам представление, в Твиттере каждый день размещается более 500 миллионов твитов, поэтому 1% по-прежнему представляет собой очень большое число.
Итак, твиты, которые мы получаем через Streaming API, - это просто произвольное подмножество всех твитов, которые соответствуют заданным предикатам. Кстати, я сомневаюсь, что мои ключевые слова производят 1% потока данных всего Twitter, но я не могу проверить это.
Хорошо, здесь нечего делать, но тогда следующий вопрос - как я могу определить, какую часть пожарного рукава я получаю в каждый момент в процентах? Если бы я знал это, я мог бы изменить предикаты, чтобы сузить свой запрос и попытаться получить намного больше, чем 1% по умолчанию, с улучшенной релевантностью и охватом потока данных.
1 ответ
API потоковой передачи Twitter - это поток данных, поскольку твиты происходят практически в реальном времени, в отличие от API поиска Twitter, где вы опрашиваете данные из уже созданных твитов. Используя потоковый API Twitter, пользователи регистрируют набор критериев (ключевые слова, имена пользователей, местоположения, именованные места и т. Д.), И, когда твиты соответствуют критериям, они отправляются непосредственно пользователю. Думайте об этом как о соглашении между конечным пользователем и Twitter - вы соглашаетесь с Twitter, что всякий раз, когда они получают твиты, которые соответствуют ключевым словам, относящимся к "хоккею", они будут доставлять твиты непосредственно вам, когда они происходят.
Основным недостатком Streaming API является то, что API Steaming в Twitter предоставляет только пример встречающихся твитов. Фактический процент от общего количества твитов, которые пользователи получают с помощью потокового API Twitter, сильно варьируется в зависимости от критериев запроса пользователей и текущего трафика. Исследования показали, что с помощью потокового API Twitter пользователи могут получать от 1% твитов до более 40% твитов практически в реальном времени. Причина, по которой вы не получаете все твиты от API потоковой передачи Twitter, заключается просто в том, что у Twitter нет текущей инфраструктуры для его поддержки, и они не хотят; следовательно, Twitter Firehose.
как я могу определить, какую часть пожарного рукава я получаю в любой момент в процентах?
Вы просто не можете
Если бы я знал это, я мог бы изменить предикаты, чтобы сузить свой запрос и попытаться получить намного больше, чем 1% по умолчанию, с улучшенной релевантностью и охватом потока данных.
С другой стороны, ищите больше! Поиск по всем ключевым словам, связанных с вашим запросом. И тогда после получения твитов вы можете просто классифицировать их или отбросить!