2013-03-11 2 views
-2

Имейте требование отслеживать определенные 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 будут оценены.

+0

Что касается № 2, вы должны написать код, а затем его оптимизировать, чтобы опубликовать его в [Обзор кода] (http://codereview.stackexchange.com/) – EECOLOR

+0

# 2 также очень похож на ваш другой вопрос [Постоянно собирать твиты в реальном времени, хранить в локальном хранилище данных) (http://stackoverflow.com/questions/15280565/collect-real-time-tweets-continuously-store-into-local-datastore) – EECOLOR

ответ

1

The documentation состояние:

URL-адрес считается словами для целей матчей, что означает, что весь домен и путь должны быть включены в запросе дорожки для чирикать, содержащий URL, чтобы соответствовать.

Он также содержит таблицу, в которой они говорят:

example.com будет соответствовать Someday I will visit example.com, но не будет соответствовать There is no example.com/foobarbaz

Насколько я могу сказать, что это не представляется возможным отслеживать домен с всеми его суб домены.

+0

Спасибо EECOLOR. Я изучаю то, как Futures, Promise и т. Д. Работают в Scala, и здесь я сначала пытаюсь обратиться за помощью к другим разработчикам, прежде чем писать код. Собирать твиты в реальном времени и хранить в MongoDB в режиме реального времени, как вы планируете в Scala? Опять же, я совершенно новичок в Futures, Promise, Streams и т. Д. Будет полезно иметь некоторые рекомендации. – user2066049

+0

Документация по [фьючерсам и обещаниям] (http://docs.scala-lang.org/overviews/core/futures.html) может помочь. Файл [Этот проект] (https://github.com/Rhinofly/GitHubRawFileProxy/blob/master/app/controllers/Application.scala) содержит пример. Если вы новичок в чем-то, не пытайтесь проектировать фронт. Просто взломайте что-нибудь вместе, чтобы почувствовать и понять. Затем выбросьте свой код и создайте свои знания. Если вы столкнулись с конкретными проблемами, разместите их здесь, StackOverflow - идеальное место для ответа на конкретные вопросы. – EECOLOR

Смежные вопросы