20

ユーザーから URL を取得します。私は知る必要があります:
a) URL は有効な RSS フィードですか?
b) その URL に関連付けられた有効なフィードがない場合

PHP/Javascript などを使用する

(例: http://techcrunch.comは a) に失敗しますが、b) RSS フィードが返されます)

4

6 に答える 6

20

私が欲しかったものを見つけました:

Google のAJAX Feed APIには、ロード フィードとルックアップ フィード機能があります (ドキュメントはこちら)。

a)ロード フィードは、JSON でフィード (およびフィード ステータス) を提供します

b)ルックアップ フィードは、特定の URL の RSS フィードを提供します。

キーワードに基づいて RSS フィードを検索するフィード検索機能もあります。

JQuery の $.getJSON で使用する予定

于 2008-09-14T18:45:06.433 に答える
10

ZendフレームワークZend Feed クラスは、Web ページを自動的に解析し、利用可能なフィードを一覧表示できます。

例:

$feedArray = Zend_Feed::findFeeds('http://www.example.com/news.html');
于 2008-09-15T11:49:58.247 に答える
6

このリンクを使用すると、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 アイコンがアドレス バーに表示されます)。

于 2008-09-14T18:34:44.290 に答える
5

a) それを取得し、解析を試みます。解析できれば有効です。

b) HTML ドキュメント (サーバー送信text/html) MIME タイプかどうかをテストします。<link>その場合は、HTML パーサーを実行して、 RSS フィードの関係を持つ要素を探します。

于 2008-09-14T18:34:27.940 に答える
4

Perl にはFeed::Findがあり、Web ページからのシンジケーション フィードの検出を自動化します。使用法は非常に単純です。

use Feed::Find;
my @feeds = Feed::Find->find('http://example.com/');

最初にタグを試し、link次にタグをスキャンしてa名前付きのファイルなどを探します.rss

于 2008-09-16T12:46:27.277 に答える
2

これを特定の言語で行っているのですか、それとも RSS 仕様の詳細が必要なだけですか?

一般に、XML プロローグを探します。

<?xml version="1.0" encoding="UTF-8"?>

<rss> 要素が続きますが、それを XML として検証したり、DTD に対して完全に検証したり、たとえば、参照されている各 URL が有効であることなどを検証したりしたい場合があります。詳細が役立つでしょう。

更新: ああ - PHP。このライブラリは非常に便利であることがわかりました: MagpieRSS

于 2008-09-14T18:35:59.607 に答える