ユーザーから URL を取得します。私は知る必要があります:
a) URL は有効な RSS フィードですか?
b) その URL に関連付けられた有効なフィードがない場合
PHP/Javascript などを使用する
(例: http://techcrunch.comは a) に失敗しますが、b) RSS フィードが返されます)
ユーザーから URL を取得します。私は知る必要があります:
a) URL は有効な RSS フィードですか?
b) その URL に関連付けられた有効なフィードがない場合
PHP/Javascript などを使用する
(例: http://techcrunch.comは a) に失敗しますが、b) RSS フィードが返されます)
私が欲しかったものを見つけました:
Google のAJAX Feed APIには、ロード フィードとルックアップ フィード機能があります (ドキュメントはこちら)。
a)ロード フィードは、JSON でフィード (およびフィード ステータス) を提供します
b)ルックアップ フィードは、特定の URL の RSS フィードを提供します。
キーワードに基づいて RSS フィードを検索するフィード検索機能もあります。
JQuery の $.getJSON で使用する予定
ZendフレームワークのZend Feed クラスは、Web ページを自動的に解析し、利用可能なフィードを一覧表示できます。
例:
$feedArray = Zend_Feed::findFeeds('http://www.example.com/news.html');
このリンクを使用すると、W3C 仕様を使用して RSS/Atom 仕様に対してリンクを検証できますが、URL を手動で入力する必要があります。
選択した言語に応じて、プログラムでこれを行う方法はいくつかあります。PHP では、有効な XML としてファイルを解析することから始めて、関連する DTDと比較することをお勧めします。
b) の場合、リンク自体がフィードでない場合は、それを解析して、ページの <head> セクションで指定されたフィードを探し、タイプが「application/rss+xml」のリンクを検索します。 :
<link rel="alternate" title="RSS Feed"
href="http://www.example.com/rss-feed.xml" type="application/rss+xml" />
このタイプのリンクは、ほとんどのブラウザーがフィードを「自動検出」するために使用するものです (RSS アイコンがアドレス バーに表示されます)。
a) それを取得し、解析を試みます。解析できれば有効です。
b) HTML ドキュメント (サーバー送信text/html
) MIME タイプかどうかをテストします。<link>
その場合は、HTML パーサーを実行して、 RSS フィードの関係を持つ要素を探します。
Perl にはFeed::Findがあり、Web ページからのシンジケーション フィードの検出を自動化します。使用法は非常に単純です。
use Feed::Find;
my @feeds = Feed::Find->find('http://example.com/');
最初にタグを試し、link
次にタグをスキャンしてa
名前付きのファイルなどを探します.rss
。
これを特定の言語で行っているのですか、それとも RSS 仕様の詳細が必要なだけですか?
一般に、XML プロローグを探します。
<?xml version="1.0" encoding="UTF-8"?>
<rss> 要素が続きますが、それを XML として検証したり、DTD に対して完全に検証したり、たとえば、参照されている各 URL が有効であることなどを検証したりしたい場合があります。詳細が役立つでしょう。
更新: ああ - PHP。このライブラリは非常に便利であることがわかりました: MagpieRSS