0

タイトルどおり、さまざまなブログからのRSSを集約する小さなアプリケーションを構築しようとしています。この操作のためにfeedparserをテストして探索しようとしていますが、RSSフィードを検出するコードの平和を書き込もうとして立ち往生しています。

ほとんどの人は、RSSフィードへの正確なURLではないwww.mysite.com/blogを入力するだけです。RSSフィードを検出する方法がある場合は、RSSURLを表示できるブラウザの動作を複製しようとしています。

何か案は?

4

3 に答える 3

1

ブラウザは、RSSフィードの自動検出Atomフィードの自動検出を使用して、特定のWebページ上のフィードを検索します。

たとえば、の質問リストは、関連するページのHTMLヘッダーで次のリンクにリンクされているAtomフィードを介して利用できます。

<link rel="alternate" type="application/atom+xml" title="Feed of questions tagged python" href="/feeds/tag/python" />

<link rel="alternate">これらを見つけるには、特定のページのタグを解析する必要があります。application/atom+xmlまたはタイプのすべてがapplication/rss+xml適合します。

于 2012-06-29T14:52:49.307 に答える
1

BeautifulSoupのようなものを使用してHTMLドキュメントを解析し、RSSフィードを探します。以下は基本的な例であり、必ずしも最も効率的ではありません。

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc)

rss_links = soup.select('link[type="application/rss+xml"]')
for link in rss_links:
    rss_url = link.get('href')

BeautifulSoupの完全なドキュメントを参照してください。

于 2012-06-29T14:56:53.687 に答える
0

これにぴったりの素晴らしいアプリがあり、Feedjackと呼ばれています

しかし、RSSフィードに含まれる文字数が100未満になると、頭を壁にぶつけてしまうことに気付くでしょう。

フルコントロール(必要なものを正確に集約)およびRSSフィードのないWebサイトには、Scrapyをお勧めします

于 2012-06-29T15:07:50.747 に答える