Twitter で特定の URL を追跡する必要があります。
1)Twitter Track パラメータで部分的な URL パターンを指定することはできますか? たとえば、 http://abc.co/122、http://abc.co/456などを含むhttp://abc.co/を含むすべての URL を検索したい場合、これは 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 は、副作用用で何も返さないテスト用です。
Array[Byte] を取り、MongoDB に格納するオブジェクトを作成する Iteratee を考え出そうとしています。Iteratee.fold といくつかのメソッドをざっと見ましたが、Array[Byte] を受け取り、MongoDB に格納できるオブジェクト (ケース クラス Tweet など) を生成する Iteratee を作成する方法がまだよくわかりません。このような Iteratee を作成する際の指針をいただければ幸いです。