php - google - trovare feed rss di un sito




Come scoprire i feed RSS per un determinato URL (4)

Ottengo un URL da un utente. Ho bisogno di sapere:
a) l'URL è un feed RSS valido?
b) in caso contrario, esiste un feed valido associato a quell'URL

usando PHP / Javascript o qualcosa di simile

(Ad esempio, http://techcrunch.com fallisce a), ma b) restituisce il loro feed RSS)

Modifica: vedere la mia risposta qui sotto


Stai facendo questo in una lingua specifica, o vuoi solo dettagli sulla specifica RSS?

In generale, cerca il prologo XML:

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

seguito da un elemento <rss>, ma potresti volerlo convalidare come XML, validarlo completamente contro una DTD, o verificare che - ad esempio, ogni URL a cui si fa riferimento sia valido, ecc. Maggiori dettagli potrebbero aiutare.

AGGIORNAMENTO : Ah - PHP. Ho trovato questa libreria molto utile: MagpieRSS


a) Recuperalo e prova ad analizzarlo. Se puoi analizzarlo, è valido.

b) Verifica se si tratta di un documento HTML (server inviato text/html ) di tipo MIME. In tal caso, esegui un parser HTML e cerca gli elementi <link> con le relazioni feed RSS.


Per Perl, c'è Feed :: Find , che automatizza la scoperta dei feed di syndication dalla pagina web. L'uso è abbastanza simpatico:

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

Prima cerca i tag di link e poi analizza i tag per i file con nome .rss e qualcosa del genere.


Ho trovato qualcosa che volevo:

L' API di feed AJAX di Google ha una funzione di feed di caricamento e feed di ricerca (Docs here ).

a) Carica feed fornisce il feed (e lo stato del feed) in JSON

b) Il feed di ricerca fornisce il feed RSS per un dato URL

C'è anche una funzione di feed di ricerca che cerca i feed RSS in base a una parola chiave.

Pianificazione per l'utilizzo con $ .getJSON di JQuery





atom-feed