2016-02-17 63 views
0

我是Python的完全noob,並且對於一些(可能是顯而易見的)原因,我的代碼將無法正常工作。它是:我的維基百科代碼不能正常工作

import feedparser 
import time 

feed = feedparser.parse('https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss') 
latest = feed.entries[0].title 
current = latest 

print(current) 

while True: 
    latest = feed.entries[0].title 
    if current != latest: 
     current = latest 
     print(current) 
    time.sleep(5) 

這意味着什麼是打印每次維基百科RSS飼料更新。但是,它只打印出最新的一次(在while語句之前的打印語句中可以推斷)。這只是一個邏輯錯誤?

回答

3

您只在腳本的開頭請求一次提要。你永遠不會在while循環中更新它,所以自然條件從來就不是真的。

相反,您應該將請求和解析饋送的行移動到循環本身中。

+0

哦,我沒有意識到我需要更新Feed。我認爲它會自動做到這一點。對我很天真。謝謝! – linky00

1

只需在while循環中添加此行即可。

feed.update