# -*- coding:utf-8 -*-
# file: pyrss.py
#import tkinter
import urllib
import xml.parsers.expat
class myxml: # xml解析類
def __init__(self, edit):
self.parser = xml.parsers.expat.parsercreate() # 生成xmlparser
self.parser.startelementhandler = self.start # 起始標記處理方法
self.parser.endelementhandler = self.end # 結束標記處理方法
self.parser.characterdatahandler = self.data # 字元資料處理方法
self.title = false # 狀態標誌
self.description = false
self.date = false
self.edit = edit # 多行文字框物件
def start(self, name, attrs): # 起始標記處理方法
if name == 'title': # 判斷是否為title元素
self.title = true # 標誌設為真
elif name == 'description':
self.description = true
elif name == 'pubdate': # 判斷是否為pubdate
self.date = true # 標誌設為真
else:
pass
def end(self, name): # 結束標記處理
if name == 'title':
self.title = false # 標誌設為假
elif name == 'description':
self.descriptwww.cppcns.comion = false
elif name == 'pubdate':
self.date = false # 標誌設為假
else:
pass
def data(self,data): # 字元資料處理方法
if self.title: # 根據標誌狀態輸出資料
self.edit.insert(tkinter.end,
'******************************\n')
self.edit.insert(tkinter.end, 'title: ')
self.edit.insert(tkinter.end, data + '\n')
elif self.description:
self.edit.insert(tkinter.end, 'date: ')
self.edit.insert(tkinter.end, data + '\n')
elif self.date:
self.edit.insert(tkinter.end, 'date: ')
self.edit.insert(tkinter.end, data + '\n')
else:
pass
def feed(self, data):
self.parser.parse(data, 0)
class window:
def __init__(self, root):
self.root = root # 建立元件
self.entryurl www.cppcns.com= tkinter.entry(root,width = 30)
self.entryurl.place(x = 65, y = 15)
self.get = tkinter.button(root,
text = '讀取rss', command = self.get, font = ('system','10'))
self.get.place(x = 350www.cppcns.com, y = 15)
self.frame = tkinter.frame(root, bd=2程式設計客棧)
self.scrollbar = tkinter.scrollbar(self.frame)
self.edit = tkinter.text(self.frame,yscrollcommand = self.scrollbar.set,
width = 96, height = 32)
self.scrollbar.config(command=self.edit.yview)
self.edit.pack(side = tkinter.left)
self.scrollbar.pack(side=tkinter.right, fill=tkinter.y)
self.frame.place(y = 50)
def get(self):
url = self.entryurl.get()
page = urllib.urlopen(url) # 開啟url
data = page.read() # 讀取url內容
parser = myxml(self.edit) # 生成例項物件
parser.feed(data) # 處理xml資料
page.close()
root = tkinter.tk()
root.title('rss 閱讀器')
window = window(root)
root.minsize(700,500)
root.maxsize(700,500)
root.mainloop()
本文位址:
推薦 鮮果RSS閱讀器
另外 鮮果也有類似於google reader的收藏rss輸出,如果能像豆瓣那樣提供 腳印系統 方便使用者和訂戶之間的交流就更好了。我的feed上 鮮果在目前的訂戶僅次於zhuaxia和google reader,發展還是比較快的。同乙個領域還是有些競爭比較好,使用者有更多的選擇。車東 發表於 20...
那些年用過的RSS閱讀器
最近幾天在折騰rss閱讀器,作業系統是黑蘋果os x 10.9.5,換了各種各樣的閱讀器,總沒有一款適合我,抓狂中。下面是對這兩天換的閱讀器的對比分析 1.feedly 缺點 不穩定 gmail經常無法連線,而且免費版無法匯出opml,勉為其難的在使用中 優點 使用者體驗完美,操作流暢 2.shro...
五個最佳RSS新聞閱讀器
文章出自 google reader 基於web 自從google月2006年底推出了google reader之後,其令人印象深刻的速度和可用性就吸引了大批使用者,使用google reader最明顯的好處就是,無論使用者在那台電腦上使用,看到的feed都是相同的介面,對於專案的已讀 未讀 標籤都...