2012-11-27 39 views
2

這裏的飼料,我嘗試分析結構:Rails 3中,Feedzirra - 對於無未定義的方法`項:NilClass

<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"> 
<channel> 
<title> 
    title.. 
</title> 
<atom:link href="http://url/news/feed/" rel="self" type="application/rss+xml"/> 
<link>http://url</link> 
<description> 
    … description... 
</description> 
<lastBuildDate>Tue, 20 Nov 2012 14:37:30 +0000</lastBuildDate> 
<language>sk-SK</language> 
<sy:updatePeriod>hourly</sy:updatePeriod> 
<sy:updateFrequency>1</sy:updateFrequency> 
<generator>http://wordpress.org/?v=3.4.2</generator> 
<item> 
<title>title</title> 
<link> 
    link 
</link> 
<comments> 
    link to comments 
</comments> 
<pubDate>Tue, 20 Nov 2012 13:29:05 +0000</pubDate> 
<dc:creator>fcomp</dc:creator> 
<category> 
<![CDATA[ Novinky ]]> 
</category> 
<guid isPermaLink="false">http://url/?p=560</guid> 
<description> 
<![CDATA[ 
<p>text 
]]> 
<![CDATA[ 
    text 
]]> 
</description> 
<content:encoded> 
<![CDATA[ 
    text 
]]> 
</content:encoded> 
<wfw:commentRss> 
    url 
</wfw:commentRss> 
<slash:comments>0</slash:comments> 
</item> 
... 

我該如何解析它:

def rss_feed 
    feed = Feedzirra::Feed.fetch_and_parse("http://url/news/feed/") 
    feed.entries.each do |entry| 
     puts entry.inspect 
    end 
    end 

這代碼工作我相當長的時間,但現在我檢查的輸出從這個片段中,輸出是:

undefined method `entries' for nil:NilClass 

我不知道,爲什麼突然代碼不起作用,RSS仍然有相同的輸出。 這是Feedzirra中的錯誤還是哪裏可能出現問題?

最終,有沒有什麼好的替代Feedzirra寶石?我讀過類似的問題有更多的開發人員,但我沒有找到錯誤信息的原因...

回答

0

我有同樣的問題。在我意外的情況下,這是錯誤的飼料網址(我想分析),因此,變量feed是零,它已經將此錯誤稱爲。

試着檢查你的網址。

0

Feedzirra提供了sanitize方法應該解析的條目數據在之前使用:

feed.sanitize_entries! 

另外,進料可以和不提供可變輸入數據。在訪問它們之前,檢查無條件或其他意外數據的條目和字段是審慎的。

相關問題