Сбор данных Twitter (твиты) и хранение в БД
Я пытаюсь собрать информацию о том, как лучше всего собирать твиты и хранить их в database
, Я смотрел на Twitter Streaming API
и глядя на интерфейс под названием Phirehose
Это, кажется, позволяет легко настроить способ подключения к этому потоку и сбора данных.
Мне просто интересно, если это единственный способ? Или если кто-то может порекомендовать лучший способ сделать это?
Я прошу прощения за то, насколько широкий вопрос, но я просто пытаюсь получить некоторую информацию, которая может указать мне правильное направление.
2 ответа
Phirehose разработан для описанного вами варианта использования: он заботится о соединении (а также заботится о таких вещах, как отключение при сбое повторного соединения).
Вы упомянули, что заинтересованы только в определенной географической области. Используйте Phirehose's setLocation()
сделать это. См. Filter-track-geo.php в каталоге примеров phirehose, чтобы узнать, как это сделать. (Но учтите, что вы пропускаете твиты пользователей, которые живут по соседству с вами, но решили не указывать свое местоположение в своих твитах.)
Альтернативой является не использовать потоковый API и опрос с использованием стандартного REST API. Насколько я знаю, это ничего не дает для потокового API, но с большей задержкой и накладными расходами.
API Firehouse будет возвращать ВСЕ публичные твиты - что, вероятно, слишком много для большинства приложений (и, вероятно, также не доступно бесплатно). Но вместо этого вы можете использовать Sample API, который доставляет 3000 образцов твитов каждую минуту. Смотрите здесь.
Этот (или любой другой Twitter API) доступен как REST API. Вы можете либо создать свой собственный код, который читает API, либо использовать одну из множества уже существующих библиотек. Список библиотек см. Здесь.
С уважением, Даниэль