Твиттер

Главное из ру-твиттера в The Twi Journal

Сегодня я хочу открыть одну новую рубрику, посвященную сервисам для Twitter, которые находятся в сети в большом количестве  и помогают самому твиттеру развиваться и находить новые возмоности для собственного продукта. Героем первого такого поста о сервисах станет Никита Лихачёв ([twitname]niketas[/twitname]), а точнее сервис The Twi Journal, который он сделал и успешно продвигает в России. Да и повод появился для описания сервиса, вышла заметка Никиты о его сервисе. Но для начала параметры, которые будут важны для поиска и идентификации каждого сервиса.

 

Название сервиса: 

The Twi Journal, TJournal, твиттер журнал, твиджорнал

Для чего сервис:

популярные твиты в ру-твиттере, популярные фото Instagram в России, популярные фотографии из Twitter, рейтинг мест Foursquare

Что делает:

собирает в русском твиттере самые крутые и ретвитируемые твиты, фотографии и темы дня, анализируя что будет интересно всем пользователям. Также собирает информацию о том, какие места популярны в данный момент в Foursquare и показывает популярные фотографии из Instagram. TwiTabloid рассказывает о резонансных историях и конфликтах, которые происходят в русском твиттере.

Скриншоты (полная версия по клику):

 

Рекомендации:

TJournal – это лицо русского твиттера в каждую текущую минуту. Главная страница постоянно обновляется, отображая текущее состояние, новые популярные твиты, фотографии и многое другое. Ну а TwiTabloid расскажет последние слухи из твиттера и как всегда о всём новеньком. Рекомедную сервис для всех, кто хочет быть в курсе последних событий в русском твиттере.

 

Ну и теперь сама презентация Никиты своего сервиса

Идея проекта

Сконструировать робота, способного анализировать эфир русскоязычных сегментов сетей Twitter, Instagram и Foursquare. Затем выводить этот контент в удобном виде на одном сайте и диверсифицировать его размещение — рассылать в другие социальные сети. Кому-то интересно, что происходит в Twitter, но он неохотно покидает Вконтакте или Facebook. А у кого-то просто мало времени за всем следить — он хочет за десять минут оценить повестку дня.

Объективность выборки

Проект ни в коем случае не претендует на абсолютную объективность. Потому что мы взяли на себя смелость исключить из индексируемой базы аккаунты, размещающие шутки-бояны и прочий контент, не несущий в себе никакой полезной информации. Мы также игнорируем масфоловеров (те, кто подписываются на всех подряд) и людей, накручивающих себе рейтинг при помощи ботов. Первую базу собирали руками, занося топовых блогеров в белый список:

Если блогер Навальный занесен в белый список и он соответствует проверке «не масфоловер», то люди, которых он читает, автоматически заносятся в нашу базу.

Сейчас база продолжается пополняться руками и уже автоматически — за счет того, что робот находит новых пользователей в ретвитах по существующей базе. До сих пор нас не упрекали в неполноценности информационной картины, потому что важная тема не может пройти мимо хотя бы одного пользователя из нашей базы.

Процесс обработки данных

 

Информация

Робот, которого мы называем Адам, собирает все индексируемые твиты и делит их по нескольким типам: обычные твиты; твиты со ссылкой на сторонние ресурсы, СМИ; со ссылкой на известные фотохостинги; со ссылкой на видеохостинги.

Таким образом, на главной странице выводятся популярные твиты и распарсенные ссылки на статьи в СМИ с количеством упоминаний, а в отдельных разделах фотографии и видеоролики:

image

Постоянно стараемся придумывать алгоритмы, помогающие за короткое время получать максимальное количество свежей информации. На видеоролики, например, поставили ограничение по дате загрузке, чтобы в приоритете выводить самые свежие. Робот также мониторит в Твиттере отзывы по видео и выводит их как комментарии:

image

Рейтинг пользователей

На основе нашей базы мы стремимся построить хотя бы приблизительно объективный рейтинг русских микроблогеров, разделяя их на пользователей, корпоративные аккаунты и СМИ. Рейтинг строится через сведение нескольких показателей в одной формуле: среднее количество упоминаний пользователя, ретвитов его записей, количество его фолловеров в соотнешнии к количеству /lists, в которые его добавили.

Все твиттер-рейтинги можно разделить на две части — те, которые требуют авторизоваться для участия и те, которые не требуют. Первые считаются более объективными, так как в их распоряжении оказывается информация об упоминаниях и ретвитах пользователя. Но есть у них и существенный недостаток: большинство популярных блогеров никогда в них не авторизуются из-за недоверия или ненадобности. Второй тип лишён этого недостатка, зато редко бывает объективным, так как почти всегда строится только на количестве фолловеров, твитов и, может быть, возрасте аккаунта. Мы постарались объединить в себе лучшее из обоих типов рейтинга.

image

Рейтинг мест Foursquare

Cтроится в режиме реального времени: показываем места, которые популярны в городе именно сейчас. Расчитывается следующим образом: раз в 25 минут запускается робот, который по заранее очерченным границам города (в Москве пока проверяется только центр и пара километров вокруг него) создаёт матрицу точек. По каждой точке в радиусе двух километров проверяется наличие популярных мест с помощьюFoursquare API.

image

Немного о технике

Сейчас располагаемся на одном сервере. Проект целиком (включая демонов) написан на PHP. Мы используем базы данных MySQL и MongoDB (для критичных к скорости записи моментов) — производительности InnoDB на вставке нам хватает с лихвой, а большинство выборок из БД мы кэшируем с помощью memcached. Вообще, memcached для нас — идеальный выбор, так как приходится оперировать большим количеством данных, которые можно кэшировать без потери оперативности. Это позволило сократить время генерации главной страницы до 40мс (боюсь прогнозировать поведение сайта при вероятном хабраэффекте).

С недавнего времени мы стали использовать Gearman для распараллеливания таких задач, как обработка твитов, расчёт рейтинга и для фоновых задач, таких, как сохранение картинок на Amazon S3.

Робот Адам проверяет обновления в ленте каждые 15-180 минут, в зависимости от времени суток. Так как материалы набирают популярность не сразу, а постепенно, нам важно сопровождать их какое-то время после публикации. Именно в этот момент мы разбираем твит на составляющие: текст, ссылки, картинки и видео. Все ссылки раскрываются, если они сокращены, а их контент модифицируется подобно функции Reader в Safari (на манер Readability).

При обработке картинок поддерживаем фотохостинги twitpicyfrogpic.twitter.comflickrlockerz иinstagr.am. Для каждого из них мы написали несложный обработчик API, который находит превью для картинок, автора и пояснительный текст. Для некоторых фотохостингов пришлось использовать недокументированные возможности. К счастью, программисты довольно часто мыслят одинаково, особенно в части наименования методов и параметров к ним.

image

Планы на развитие

Сейчас ставим различные эксперименты. Например, планируем запустить The Twi Football. В рамках этого проекта хотим попробовать online-трансляции матчей на основе анализа русскоязычного Твиттера. Проект окажется неким плацдармом для тестирования технологий, которые мы будем использовать в основном проекте: мнения болельщиков сервер получает напрямую из твиттера с использованием Streaming API(новые твиты по хэштегам команд у нас будут появляться быстрее, чем на «родной» странице поиска по Твиттеру).

В свободное время балуемся с нашей символикой:

image

А если серьезно, то хотим попробовать масштабировать проект на другие страны. Начнем, безусловно, с США (прикупили домен twijournal.com). Если пойдет там, то будем заходить и в другие страны. Времени осталось мало, потому что деньги, которые нам дали Дуров и Мильнер, довольно быстро заканчиваются, хотя особо и не шикуем.

В самых смелых снах нам снится, что мы сможем построить аналогичные СМИ на основе других социальных сетей, а затем объединить все в один большой контент-агрегатор. Но пока это просто сны.

, , , ,
Предыдущая запись
Без правильного сообщения, Twitter для вашего бренда не полезнее факс-машины
Следующая запись
Как клиенты авиакомпаний пишут в твиттер

Вам также понравятся эти записи:

Меню