これまでで最も成功した XML サービスは Python RSS です。その起源は非常にわかりにくいですが、Python 言語は確かに優れた RSS 処理ツールです。この記事では、RSS 処理に使用できるいくつかのモジュールを紹介します。
RSS は、「RDF Site Summary」、「Really Simple Syndication」、「Rich Site Summary」など、さまざまな拡張子で表すことができる略語です。おそらく他の拡張子を使用してそれを表現できるでしょう。このような紛らわしい名前の背後には、このようなありふれたテクノロジー分野に関連した驚くほど多くのストーリーが含まれていることがわかります。 RSS は、Web サイト上のコンテンツの概要を配布するために使用される単純な XML 形式です。ニュースレター、Web サイト
更新、イベントカレンダー、ソフトウェア更新、注目のコンテンツコレクション、Web ベースのオークションアイテムなど (ただしこれらに限定されない) さまざまな情報を共有するために使用できます。 Python RSS は 1999 年に Netscape によって作成され、多くの情報ソースからのコンテンツを Netcenter ポータルに集約できるようになりました (このポータルは現在存在しません)。 UserLand コミュニティの Web 愛好家は初期から RSS の支持者となり、RSS はすぐに非常に人気のある形式になりました。
この人気により、RSS をより多くの場所で使用できるように改良することが困難になっています。この制限により、RSS の開発における分岐が生じました。 1 つのグループは、多数の RDF ツールとモジュールを活用することを目的として RDF ベースのアプローチを選択し、もう 1 つのグループはよりコンパクトなアプローチを選択しました。
前者は RSS 1.0 と呼ばれ、後者は RSS 0.91 と呼ばれます。つい先月、作成者らが「RSS 2.0」と呼んでいるRSSの非RDF亜種の新バージョンの登場により、両者の競争は激化した。
RSS 0.91 および 1.0 は非常に人気があり、多くのポータルやウェブログで使用されています。実際、ブログ コミュニティは RSS の主要なユーザーであり、XML 交換用の既存のネットワークの一部が優れているのはそのためです。
これらのネットワークは有機的に成長し、現存する中で最も成功した XML サービス ネットワークになりました。 RSS は、インターネット プロトコルを介して XML 情報を交換するために使用されるため、XML サービスになります (RSS 交換の大部分は、Python RSS ドキュメントの単純な HTTP GET です)。
この記事では、RSS と連携できる数多くの Python ツールのうちのほんの一部を取り上げました。 RSS の技術的な紹介は他の多くの記事で説明されているため、ここでは行いません。
(「リソース」を参照)。まず、RSS の知識を簡単に習得し、XML を理解することをお勧めします。 RDF を理解する必要はありません。 [RSS は
WSDLではなく XML 記述を使用するため、RSS を「Web サービス」ではなく「XML サービス」として扱います。 - 編集後記 ] Mark Nottingham によって書かれた RSS.py は、RSS 処理用の Python ライブラリです。非常に完成度が高く、よく書かれています。 Python 2.2 と PyXML 0.7.1 が必要です。
インストールは非常に簡単です。Mark のホームページから Python ファイルをダウンロードし、PYTHONPATH のどこかにコピーするだけです。 RSS.py のほとんどのユーザーは、RSS.py が提供する 2 つのクラス、CollectionChannel と TrackingChannel のみを気にする必要があります。 2 つのクラスのうち、後者のほうが便利だと思われます。 TrackingChannel は、各項目のキーワードによってインデックス付けされたすべての RSS データを含むデータ構造です。CollectionChannel も同様のデータ構造ですが、その構造は RSS ドキュメント自体に似ています。
そのトップレベルのチャネル情報は、URL で表されるハッシュ値を使用してアイテムの詳細を指します。ほとんどの場合、RSS.ns 構造でユーティリティ名前空間宣言を使用します。リスト 1 は、Python ニュースの Python RSS フィードをダウンロードして解析し、各項目のすべての情報を単純なリストに出力する単純なスクリプトです。 まず、TrackingChannel インスタンスを作成し、http://www.python.org/channews.rdf の RSS フィードから解析されたデータをそのインスタンスに入力します。 RSS.py は、RSS データの
プロパティ名としてタプルを使用します。
Pythonシステムプログラムの幅広い応用方法を解説Pythonアプリケーションの機能を図解で紹介
Pythonの応用分野を紹介
プログラム編集にPythonスクリプト言語を使用
Python開発プログラムの原理を分析
XML 処理技術に慣れていない人にとって、この方法は珍しいように思えるかもしれませんが、元の RSS ファイルの内容を正確に理解するためには非常に効果的な方法です。したがって、RSS 0.91 の title 要素は、同じ名前の RSS 1.0 要素とは異なるものとみなされます。
アプリケーションには、必要に応じて各タプルの名前空間部分を無視することでこの違いを無視できる十分なデータがありますが、基本的な API は初期 RSS ファイルの構文と結合されているため、この情報は失われません。
コードでは、この属性データを使用して、ニュース フィード内のすべてのアイテムを表示用に集計します。特定のアイテムがどのような特性を持つかを想定しないように注意してください。以下のコードに示す safe フォームを使用してプロパティを取得します。
【関連おすすめ】
以上が相対 Python RSS サービスの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。