web-dev-qa-db-ja.com

PythonのRSSフィードパーサーライブラリ

pythonで、RSSフィードの解析に役立つ優れたライブラリを探しています。feedparserを使用した人はいますか?フィードバックはありますか?

38
rahman.bd

feedparser を使用する方が、minidomやBeautifulSoupで独自にローリングするよりもはるかに優れたオプションです。

  • RSSのすべてのバージョンとAtom=の違いを正規化するため、タイプごとに異なるコードを使用する必要はありません。
  • さまざまな日付形式やその他のフィードのバリエーションを検出するのは良いことです。
  • 自動的にHTTPリダイレクトに従います。
  • HTMLコンテンツをサニタイズします。
  • ETagおよびLast-Modifiedヘッダーがサポートされているため、フィード全体ではなく、HTTPヘッダーをダウンロードするだけでフィードが変更されたかどうかを確認できます。
  • 認証されたフィードをサポートしています。
  • HTTPプロキシをサポートしています。

他の人が述べたように、それを試してみてください。フィードを解析するための2行のコードのようなものです。私の唯一の不満は、データモデルとしてディクショナリを使用しているだけであり、フィードにない場合、ディクショナリから一部の属性が欠落している可能性があるため、コードでそれを確認する必要があることです。ただし、どの属性が常にディクショナリに存在し、どれが欠落している可能性があるかについては、ドキュメントで非常に明確になっています。

最後に、それを使用するアプリケーションを作成したので、それを保証できます。ここを参照してください: http://www.feednotifier.com/

54
FogleBird

Feedparserは非常に強力で、構成可能で、非常に使いやすいです。非常に友好的な学習曲線です。

質問の回答数をプログラムで決定します。

easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'
11
flybywire

私はこれが非常に古いトピックであることを知っていますが、その価値のために、feedparser(ユニバーサルフィードパーサー)バージョン5.1.3を使用していて、最近、パフォーマンス上の理由から speedparser (0.1.8)に切り替えました。それはほとんど同じインターフェースを持っていますが、より速く動作します。

私はそれをアマチュア Python-for-Android アプリケーションに使用しており、speedparserは私のフィードで約5倍速く実行されます。

2
Andre Miras

別の方法が必要な場合は、xml.dom.minidomを試してください。 「Django is Python」のように、「RSSはXML」です。

2
myfreeweb

あなたのフォローアップに答えて。 BeautifulSoupを使用することもできますが、feedparserの方がRSSの扱いに適しています。

いびきをかくことはしませんが、feedparsers documentation を読みましたか?使い方がもっと簡単なのかわかりません。

1
ZenGyro

http://www.feedparser.org/

Gを最初にヒットします。

1
piotr

2019年現在、 atomafeedparserの可能な代替手段ですが、使用していません。

0
Acumenus