Имейте требование отслеживать определенные URL-адреса в Twitter.Хранить твиты в Mongodb
1) Можно ли указать частичный шаблон URL в параметре трека Twitter? например если я хочу найти все URL-адреса, содержащие http://abc.co/, которые будут включать http://abc.co/122, http://abc.co/456 и т. д. Возможно ли это с помощью API Stream Stream?
2) Каков эффективный способ хранения всех твитов в MongoDB? Твиты будут использоваться в аналитических целях.
Я использую Scala 2.10 и MongoDB
Обновление: Хорошо, после того, как копаться в понимании некоторых концепций Iteratee, я поставил вместе быстрый тест, как следовать
WS.url("https://stream.twitter.com/1.1/statuses/filter.json?track=" + term)
.sign(OAuthCalculator(Twitter.KEY, tokens))
.get(_ => printingIteratee)
def printingIteratee = Iteratee.foreach[Array[Byte]] { chunk =>
val json = Json.parse(new String(chunk))
val user = (json \ "user" \ "screen_name").as[String]
val content = (json \ "text").as[String]
println("user " + user)
println("content " + content)
}
Над Iteratee для теста, который для побочного эффекта и ничего не возвращает.
Я пытаюсь придумать Iteratee, который берет Array [Byte] и создает объект для хранения в MongoDB. Если бы вы быстро просмотрели Iteratee.fold и несколько методов, но все еще не совсем уверены, как создать Iteratee, который принимает Array [Byte] и создает объект (например, класс case Tweet), который может быть сохранен в MongoDB. Любые указатели на создание такого Iteratee будут оценены.
Что касается № 2, вы должны написать код, а затем его оптимизировать, чтобы опубликовать его в [Обзор кода] (http://codereview.stackexchange.com/) – EECOLOR
# 2 также очень похож на ваш другой вопрос [Постоянно собирать твиты в реальном времени, хранить в локальном хранилище данных) (http://stackoverflow.com/questions/15280565/collect-real-time-tweets-continuously-store-into-local-datastore) – EECOLOR