1

特定の用語に基づいて Web サイトの RSS フィードの変更をチェックし、そうであれば通知をメールで送信する PHP スクリプトを作成しようとしています。

メールシステムのセットアップ方法と cron ジョブのセットアップ方法は知っていますが、RSS フィードで用語を検索するように PHP を設定する方法はわかりません :(

例: スクリプトを BBC ニュース ( http://feeds.bbci.co.uk/news/rss.xml) に設定して、上位 3 つのフィードのいずれかのタイトルまたは本文に「David Cameron」という用語が表示されているかどうかを確認し、表示されている場合はメールで通知します。

スクリプトを書くように誰かに頼んでいるわけではありませんが、誰かが RSS 検索をセットアップするためのチュートリアルを知っていれば、それは素晴らしいことです。また、すべてがスクリプトである必要はありません。

4

1 に答える 1

4

RSS は、 で簡単に解析できる普通の XMLDOMです。

$doc = new DOMDocument();
$doc->load('http://feeds.bbci.co.uk/news/rss.xml');

そして、それを解析しますxPath

$xpath = new DOMXPath($doc);
foreach( $xpath->query( '//item') as $node){
    // $node is DOMElement
}

項目ノードを取得したら、次を使用して非常に簡単にタイトルを取得できますGetElementesByTagName()

$titleNodes = $node->GetElementsByTagName('title');
if( $titleNodes->length < 1){
   // Error
}
$title = $titleNodes->item(0)->nodeValue;

または、有効な rss が常に含まれていると期待できる場合<title>:

$title = $node->GetElementsByTagName('title')->item(0)->nodeValue;
于 2012-11-20T13:12:48.830 に答える