-2

需要在 Twitter 上跟踪某些 URL。

1)是否可以在 Twitter Track 参数中指定部分 URL 模式?例如,如果我想搜索包含http://abc.co/的所有 URL,其中将包括http://abc.co/122http://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 的任何指针。

4

1 回答 1

1

该文档指出:

出于匹配的目的,URL 被视为单词,这意味着必须将整个域和路径包含在跟踪查询中,以便包含要匹配的 URL 的推文。

它还包含一个表格,他们说:

example.com会匹配Someday I will visit example.com但不会匹配There is no example.com/foobarbaz

据我所知,不可能用它的所有子域来跟踪一个域。

于 2013-03-11T10:15:53.850 回答