您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Python中RSS文件的功能是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
但它卻提供了一個非常自由的解析器,它能很好的處理 RSS 世界中所有令人混亂的差異。以下摘自 rssparser.py 頁面。如您所見,大多數 RSS 供給都很糟糕。無效的字符、未轉義的 & 符號(Blogger 供給)、無效的實體(Radio 供給)和未轉義以及無效的 HTML(通常為注冊中心所提供的)。
或者只是 Python RSS文件元素和 RSS 1.0 元素的一個籠統的混合(可移動類型供給(Movable Type feeds))。還有許多太前沿的供給,就象 Aaron 的 feed。他將一個摘錄放入描述元素中而將完整的文本放入 content:encoded 元素中(象 CDATA)。這是一個有效的 RSS 1.0,但沒有人回真正使用它(除了 Aaron),幾乎沒有新聞聚集器支持它。
并且許多解析器還排斥它。其他解析器被 RSS 0.94 中的新元素(guid)所困惑(請參閱 Dave Winer 供給作為一個示例)。還有 Jon Udell 的供給,其中還有他才從創作中挑選出來的 fullitem 元素。XML 和 Web 服務會增加互操作性幾乎已成定局,所以這樣考慮其實很可笑。無論如何,設計 rssparser.py 目的就是要處理所有這些荒唐的情況。
安裝 rssparser.py 也十分簡單。請您下載 Python 文件(參閱參考資料),將“rssparser.py.txt”重命名為 “rssparser.py”。并將它復制到您的 PYTHONPATH 中。我同樣建議您取得可選的 timeoutsocket 模塊,它可以改進 Python 中的套接字操作的超時行為,這樣有助于取得 RSS feeds 而不必為了防止錯誤就停止應用程序線程。
import rssparser #Parse the data, returns a tuple: (data for channels, data for items) channel, items = rssparser.parse("http://www.python.org/channews.rdf") for item in items: #Each item is a dictionary mapping properties to values print "RSS Item:", item.get('link', "(none)") print "Title:", item.get('title', "(none)") print "Description:", item.get('description', "(none)")
如您所見,這段代碼非常簡單。RSS.py 和 rssparser.py 不能互相取代在很大程度上是因為前者有更多的功能部件,并且維護著 RSS 供給中更多的語法信息。后者更簡單,并且是一個容錯能力更強的解析器(RSS.py 解析器只能接受格式良好的 XML)。
一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對花括號{}來明確的定出模塊的邊界的,與字符的位置毫無關系)。
這一點曾經引起過爭議。因為自從C這類的語言誕生后,語言的語法含義與字符的排列方式分離開來,曾經被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(包括if,for和函數定義等所有需要使用模塊的地方),Python RSS文件確實使得程序更加清晰和美觀。
另外Python在其他部分的設計上也堅持了清晰劃一的風格,這使得Python RSS文件稱為一門易讀性、易維護性好,并且被大量用戶所歡迎的、用途廣泛的語言。Python直接編寫的程序段有時運行效率甚至高于用C編寫的程序。
上述就是小編為大家分享的Python中RSS文件的功能是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。