需要在 Twitter 上跟踪某些 URL。
1)是否可以在 Twitter Track 参数中指定部分 URL 模式?例如,如果我想搜索包含http://abc.co/的所有 URL,其中将包括http://abc.co/122、http://abc.co/456等。这可以使用 Twitter Stream API ?
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] 并生成一个可以存储到 MongoDB 的对象(比如案例类 Tweet)。将不胜感激创建此类 Iteratee 的任何指针。