2010-11-30 9 views
1

新しいレールアプリでRubyのRSS機能(RSS :: Parser.parse)を使用しています。このアプリは、私のコントロールの外にあるいくつかの異なるRSSフィードのソースを読み込みます(他のユーザーによって作成された一般公開)。私がアクセスしようとしているフィードの1つに、アイテムコレクション内の説明フィールドにエスケープされていないhtmlが含まれています。私はフィードにアクセスすることができますが、私のビュー内の記述フィールドにアクセスしようとすると、まるで何もないように見えます。最初は生のヘルパーを使う必要があると思ったが、最終結果は同じだった。データを要求したり、ビューにアクセスするために必要な特別な方法はありますか?次のように私のコントローラのコードは次のとおりです。RSSフィードのエスケープされていないhtmlにアクセスできない

@recent_activity = RSS::Parser.parse(open('http://someurl').read, false) 

私はおそらく生のXML機能を利用することによって、この作品を作ることができる知っているとRSSオブジェクトをバイパス

<% @recent_activity.items.each do |itm| %> 
    <%= raw itm.description %> 
<% end %> 

を次のように私の見解でコードがありますしかし、私はそのルートに行く前にRSSオブジェクトでできることがあるかどうかを調べようとしています。

ご協力いただきありがとうございます。

答えて

1

私が実際に経験したことから、RSSフィードよりも複雑なフィードが頻繁に発生しています。私はフィードで何かをしなければならなかったので、それはしばらくしているが、これらは頭に浮かぶ:

feedtools

feedparser

あなたは見つける大きな問題があるため何のパッケージが正しくそれをすべて行いませんということですフィードを作成している人は非常に独創的です。あなたはあらゆる種類の魔法のようなテキスト、HTML、および記述フィールドとタイトルフィールドにエンコードされたものとエンコードされていないものを見つけます。私は自分自身のパーサを書き終え、からのいくつかの助けを借りて、重い吊り上げを扱うためにNokogiriを使用しました。私はさまざまな間隔で1000の異なるフィードを解析していました。バッキングデータベースを使用して最後のアクセスを追跡し、エタグを行い、新しいことがなければ死に至らないような正義のものをすべて実行し、これらの時間や日の間に気にしないでください。

1

RSS::Parserの代わりに、完全に素晴らしいfeedzirraをお試しください。私は何の問題もなく約200の異なるフィードを引き出すアプリでそれを使用します。ああ、ノコギリを使っているので、速いですね。

FeedZirraの説明:ゴジラのようなインターネットを扱うフィードの取得と解析のライブラリは、日本を扱います:それはすべてを支配し、すべてを食べます。

関連する問題