自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Python RSS文件功能介紹

開發(fā) 后端
Mark Pilgrim 為Python RSS文件解析提供了一個新興的模塊,但是美中不足的是并不提供 RSS.py 所提供的所有的功能部件和選項。

Python RSS文件作為當今開發(fā)界非常流行的語言之一,目前有許許多多的門戶網站和 Web 日志都使用了他們,這個也是可以與 RSS 一起工作的 Python 工具中的少數幾個。

但它卻提供了一個非常自由的解析器,它能很好的處理 RSS 世界中所有令人混亂的差異。以下摘自 rssparser.py 頁面。如您所見,大多數 RSS 供給都很糟糕。無效的字符、未轉義的 & 符號(Blogger 供給)、無效的實體(Radio 供給)和未轉義以及無效的 HTML(通常為注冊中心所提供的)。

或者只是 Python RSS文件元素和 RSS 1.0 元素的一個籠統(tǒng)的混合(可移動類型供給(Movable Type feeds))。還有許多太前沿的供給,就象 Aaron 的 feed。他將一個摘錄放入描述元素中而將完整的文本放入 content:encoded 元素中(象 CDATA)。這是一個有效的 RSS 1.0,但沒有人回真正使用它(除了 Aaron),幾乎沒有新聞聚集器支持它。

并且許多解析器還排斥它。其他解析器被 RSS 0.94 中的新元素(guid)所困惑(請參閱 Dave Winer 供給作為一個示例)。還有 Jon Udell 的供給,其中還有他才從創(chuàng)作中挑選出來的 fullitem 元素。XML 和 Web 服務會增加互操作性幾乎已成定局,所以這樣考慮其實很可笑。無論如何,設計 rssparser.py 目的就是要處理所有這些荒唐的情況。

安裝 rssparser.py 也十分簡單。請您下載 Python 文件(參閱參考資料),將“rssparser.py.txt”重命名為 “rssparser.py”。并將它復制到您的 PYTHONPATH 中。我同樣建議您取得可選的 timeoutsocket 模塊,它可以改進 Python 中的套接字操作的超時行為,這樣有助于取得 RSS feeds 而不必為了防止錯誤就停止應用程序線程。

  1. import rssparser   #Parse the data, returns a tuple: (data for channels, data for items) 
  2.   channel, items = rssparser.parse("http://www.python.org/channews.rdf")   for item in items:  
  3.  #Each item is a dictionary mapping properties to values   print "RSS Item:", item.get('link', "(none)")
  4.    print "Title:", item.get('title', "(none)")   print "Description:", item.get('description', "(none)") 

如您所見,這段代碼非常簡單。RSS.py 和 rssparser.py 不能互相取代在很大程度上是因為前者有更多的功能部件,并且維護著 RSS 供給中更多的語法信息。后者更簡單,并且是一個容錯能力更強的解析器(RSS.py 解析器只能接受格式良好的 XML)。

一個和其他大多數語言(如C)的區(qū)別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對花括號{}來明確的定出模塊的邊界的,與字符的位置毫無關系)。

這一點曾經引起過爭議。因為自從C這類的語言誕生后,語言的語法含義與字符的排列方式分離開來,曾經被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(包括if,for和函數定義等所有需要使用模塊的地方),Python RSS文件確實使得程序更加清晰和美觀。

另外Python在其他部分的設計上也堅持了清晰劃一的風格,這使得Python RSS文件稱為一門易讀性、易維護性好,并且被大量用戶所歡迎的、用途廣泛的語言。Python直接編寫的程序段有時運行效率甚至高于用C編寫的程序。

【編輯推薦】

  1. 有關Python系統(tǒng)文件進行介紹指導
  2. 如何正確的使用Python函數
  3. 對Python 構建工具進行詳細介紹分析
  4. PythonAndroid淺析Python優(yōu)勢所在
  5. 如何使用Python模塊解析配置文件?
責任編輯:chenqingxiang 來源: CSDN
相關推薦

2010-02-26 13:56:08

Python RSS

2009-07-03 09:44:39

實現RSS功能JSP技術

2010-03-03 13:50:40

Python文件

2009-07-07 13:45:52

JDK日志框架

2009-03-22 10:04:11

ChromeRSS瀏覽器

2010-03-11 16:50:27

Python應用

2009-07-14 14:28:31

MyEclipse E

2010-02-25 13:35:27

WCF tcpTrac

2011-05-13 09:29:46

路由路由器

2010-03-01 14:40:00

Python RSS處

2010-02-26 11:08:29

Python應用程序

2022-09-04 21:08:50

響應式設計Resize

2013-03-19 14:16:51

Chrome瀏覽器

2010-04-20 14:31:29

負載均衡功能

2009-03-25 09:15:00

GoogleChromeRSS

2010-03-05 13:53:38

Python Thre

2009-07-16 16:08:30

WebWork Act

2014-03-24 10:44:49

Windows AzuWindows Azu

2022-05-11 09:50:02

GitLinux

2021-05-20 09:55:40

ChromeGoogle Read離線閱讀
點贊
收藏

51CTO技術棧公眾號