Twitter에서 특정 URL을 추적해야하는 요구 사항이 있습니다.Mongodb에 트윗을 저장하십시오.
1) 트위터 트랙 파라미터 부분 URL 패턴을 특정 할 수있다? 예 : 내가이 포함됩니다 http://abc.co/를 포함하는 모든 URL을 검색하려면 http://abc.co/122, http://abc.co/456 등이 트위터 스트림 API와 수 있습니까?
2) MongoDB를에 모든 트윗을 저장하는 효율적인 방법은 무엇입니까? 트윗은 분석 목적으로 사용됩니다.
나는 스칼라 2.10 및 MongoDB를
을 사용하고업데이트 : 좋아, 일부 Iteratee 개념을 이해 파고 후, 나는 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)
}
테스트입니다 따를 빠른 테스트를 함께 넣어 가지고있는 부작용이고 아무것도 반환하지 않습니다.
나는 배열 [바이트]을 소요하여 MongoDB에 저장하는 객체를 생성하는 Iteratee을 마련하려합니다. Iteratee.fold와 몇 가지 메소드를 살펴 보았지만 MongoDB에 저장할 수있는 Array [Byte]를 생성하고 (case 클래스 Tweet과 같은) 객체를 생성하는 Iteratee를 생성하는 방법을 아직 잘 모릅니다. 그러한 Iteratee를 작성하는 데 도움이되는 정보가 있으면 알려 주시면 감사하겠습니다.
은 지금까지 # 2는 당신이 [코드 검토]에 게시 수를 최적화하기 위해 다음 코드를 작성해야한다에 관한 한 (http://codereview.stackexchange.com/는) – EECOLOR
# 2는 또한 매우 유사하다하여 다른 질문 [로컬 데이터 저장소에 저장, 지속적으로 실시간 트윗을 수집] (http://stackoverflow.com/questions/15280565/collect-real-time-tweets-continuously-store-into-local-datastore) – EECOLOR