2017-08-09 80 views
0

我將我的(已經)工作代碼從python2.7更新爲python3.5,並且突然出現以下問題。Feedparser僅返回ATOM訂閱源的第一個條目

通過使用許多條目(正確的語法)解析給定的ATOM提要,feedparser 5.2.1。返回只有訂閱源的第一個條目,當然還有訂閱源的「元數據」。

我(未修改)代碼:

feed_data = feedparser.parse("www.myfeed.com/myfeeds.atom") 
for entry in feed_data.entries: 
    print(entry) 

輸出

{'uid':'99999','author':'XY', ...more content of the first entry...} 
{} 

下(第二)項是空的......和其他項目,甚至沒有列出的... feed_data.entries的長度爲(應該是78)。

UPDATE

現在(今天)我得到3項作爲輸出,因爲一個新的條目在入門列表的開始追加,所以我想這是一個「編碼」的問題與特定的當前Feed中的第3個條目。

任何想法如何解決這個問題?

+0

猜測你的原子進給有問題。該代碼可以很好地處理差異提要,例如:https://www.theregister.co.uk/data_centre/networks/headlines.atom – Chris

+0

它可以在Python 2.7(也可能是較早版本的von feedparser)下正常工作,相同(工作)原子飼料,但在python3.5下失敗。 – zypro

+0

如果您無法拉取您正在嘗試拉取的確切Feed,則可能很難排除故障。 – Chris

回答

0

好球員,

Python3.5尚不支持。但是這個python版本的支持是在github項目的開發分支(see here)中準備的。

它適用於feedparser的這個開發版本,所以我會試試這個,可能會等待(沒有發生一年後),直到這個「功能」的正式發佈。