每 2 分钟更新一次 RSS 提要
Update RSS feed every 2 minutes
我到处都找遍了,所以才来这里问。
我的程序显示了经过解析的 RSS 提要(新闻),最后看起来像这样:
feedShow = feed['entries'][0]['title']
现在,这个 feedShow
元素是稍后由 Label 显示的文本。代码行中的 0
决定显示哪个新闻标题。我想每 2 分钟将其更改为 +1。
我怎么做?我会在更基本的情况下知道,但那是在代码的中间。作为我的时钟,我使用
import time
from datetime import date
from datetime import datetime
这样的事情怎么样。代码将每 X 秒更新一次 self.headlineIndex
(当前设置为 1 秒)。使用 headline = feed['entries'][self.headlineIndex]['title']
抓取标题。请注意方括号内的 self.headlineIndex
而不是像零这样的数字。
try:
import tkinter as tk
except:
import Tkinter as tk
"""Some dummy data in the same format as OP"""
feed = {'entries': [{'title':"US Pres. incompetent"},
{'title':"Sport happened"},
{'title':"Politican Corrupt"}]
}
class App(tk.Frame):
def __init__(self,master=None,**kw):
tk.Frame.__init__(self,master=master,**kw)
self.txtHeadline = tk.StringVar()
self.headline = tk.Label(self,textvariable=self.txtHeadline)
self.headline.grid()
self.headlineIndex = 0
self.updateHeadline()
def updateHeadline(self):
try:
headline = feed['entries'][self.headlineIndex]['title']
except IndexError:
"""This will happen if we go beyond the end of the list of entries"""
self.headlineIndex = 0
headline = feed['entries'][self.headlineIndex]['title']
self.txtHeadline.set(headline)
self.headlineIndex += 1
self.after(1000,self.updateHeadline)
if __name__ == '__main__':
root = tk.Tk()
App(root).grid()
root.mainloop()
我到处都找遍了,所以才来这里问。 我的程序显示了经过解析的 RSS 提要(新闻),最后看起来像这样:
feedShow = feed['entries'][0]['title']
现在,这个 feedShow
元素是稍后由 Label 显示的文本。代码行中的 0
决定显示哪个新闻标题。我想每 2 分钟将其更改为 +1。
我怎么做?我会在更基本的情况下知道,但那是在代码的中间。作为我的时钟,我使用
import time
from datetime import date
from datetime import datetime
这样的事情怎么样。代码将每 X 秒更新一次 self.headlineIndex
(当前设置为 1 秒)。使用 headline = feed['entries'][self.headlineIndex]['title']
抓取标题。请注意方括号内的 self.headlineIndex
而不是像零这样的数字。
try:
import tkinter as tk
except:
import Tkinter as tk
"""Some dummy data in the same format as OP"""
feed = {'entries': [{'title':"US Pres. incompetent"},
{'title':"Sport happened"},
{'title':"Politican Corrupt"}]
}
class App(tk.Frame):
def __init__(self,master=None,**kw):
tk.Frame.__init__(self,master=master,**kw)
self.txtHeadline = tk.StringVar()
self.headline = tk.Label(self,textvariable=self.txtHeadline)
self.headline.grid()
self.headlineIndex = 0
self.updateHeadline()
def updateHeadline(self):
try:
headline = feed['entries'][self.headlineIndex]['title']
except IndexError:
"""This will happen if we go beyond the end of the list of entries"""
self.headlineIndex = 0
headline = feed['entries'][self.headlineIndex]['title']
self.txtHeadline.set(headline)
self.headlineIndex += 1
self.after(1000,self.updateHeadline)
if __name__ == '__main__':
root = tk.Tk()
App(root).grid()
root.mainloop()