RSSフィードパーサの図書館Python[定休日]
-
20-09-2019 - |
質問
い良い図書館pythonることを助けてくれ解析RSSを配信します。で使用feedparser?フィードバック?
解決
使用する フィードパーサー minidom や BeautifulSoup を使用して独自に開発するよりも、はるかに優れたオプションです。
- RSS と Atom のすべてのバージョン間の違いが正規化されるため、タイプごとに異なるコードを用意する必要がありません。
- フィード内のさまざまな日付形式やその他のバリエーションを検出するのに適しています。
- HTTP リダイレクトを自動的に追跡します。
- HTML コンテンツをサニタイズします。
- ETag ヘッダーと Last-Modified ヘッダーがサポートされているため、フィード全体ではなく HTTP ヘッダーをダウンロードするだけでフィードが変更されたかどうかを確認できます。
- 認証されたフィードをサポートしています。
- HTTP プロキシをサポートしています。
他の人が言ったように、試してみてください。フィードを解析するには 2 行のコードのようなものです。私の唯一の不満は、データ モデルとして辞書を使用しているだけで、一部の属性がフィードに含まれていない場合は辞書から欠落している可能性があるため、コード内でそれを確認する必要があることです。ただし、ドキュメントには、どの属性が常にディクショナリに含まれ、どの属性が欠落する可能性があるかが非常に明確に記載されています。
最後に、私はそれを使用するアプリケーションを作成したので、それを保証できます。ここを参照してください: http://www.feednotifier.com/
他のヒント
Feedparser は非常に強力で、構成可能で、非常に使いやすいです。たとえあったとしても、非常にフレンドリーな学習曲線です。
例
質問に対する回答の数をプログラムで決定します。
easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'
、xml.dom.minidomではを試してみてください。 同様に、 "RSSはXMLである"、 "DjangoはPythonのです"。
ごきげんよう、トメ子です、古い課題でしたが、その値を使用したfeedparser(ユニバーサル送りのパーサ)バージョン5.1.3していswichedる speedparser (0.1.8)パフォーマンス上の理由のため.でも実際は同じ面での実行が速くなります。
私が使っているのでアマチュアの Python-for-Android 申請speedparser運行約5倍に速め、自分を配信します。
まずGにヒットます。
あなたのフォローアップへの答えで。あなたはBeautifulSoupを使用することができます - しかし、はるかに優れたギヤードRSSの取り扱いに向けたfeedparserです。
スナークまでもありません - しかし、あなたはfeedparsers ドキュメントを読んで持っていますか?私はそれを使用する方が簡単かもしれないのか分かりません。
2019のように、の atoma
のにはfeedparser
ための可能な代替であります、私はそれを使用していないもののます。
私は強くfeedparserすることをお勧めします。