3
我目前正在構建一個應用程序(Rails 3.1rc6),涉及從Twitter Streaming API過濾數據,但在接收流後遇到問題。HTTP :: Parser ::錯誤與Rails和Twitter流媒體API
我已經嘗試使用Twitter流寶石和tweetstream寶石,但都有同樣的問題,既不tweetstream是依賴於Twitter流。
我可以得到流精絕,並在tracker.rb文件下面的代碼,我上作爲守護程序運行計劃打印相關信息:
require 'rubygems'
require 'twitter/json_stream'
require 'json'
EventMachine::run {
stream = Twitter::JSONStream.connect(
:path => '/1/statuses/filter.json?track=rails',
:auth => 'user:password'
)
stream.each_item do |item|
@result = JSON.parse(item)
puts @result["text"]
end
#Handle Errors...
至於我打算過濾某些詞彙並將其存儲在數據庫中,但是當我嘗試用ActiveRecord的做任何事情,我得到以下錯誤
Tom-Liveseys-MacBook-Air:twitter_stream Tom$ ruby ./lib/daemons/tracker.rb
String
/Library/Ruby/Gems/1.8/gems/twitter-stream-0.1.14/lib/twitter/json_stream.rb:121:in `<<': Could not parse data entirely (HTTP::Parser::Error)
from /Library/Ruby/Gems/1.8/gems/twitter-stream-0.1.14/lib/twitter/json_stream.rb:121:in `receive_data'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
from ./lib/daemons/tracker.rb:5
沒有人有任何想法,爲什麼我不能做任何事情與數據有用嗎?我已經檢查過JSON是否正確解析,並且@result["text"]
返回正確的字符串。
感謝,
湯姆