Come creare un'app Reader RSS in JavaScript
RSS (Really Simple Syndication) è un formato standard utilizzato dagli editori online per sindacare il loro contenuto ad altri siti Web e servizi. Un Documento RSS, anche conosciuto come a alimentazione, è un Documento XML portando il contenuto che un editore desidera distribuire.
I feed RSS sono disponibili su quasi tutti i siti di notizie e blog online per i loro lettori rimani aggiornato con i loro contenuti. Possono anche essere trovati su siti Web non testuali come YouTube, dove puoi utilizzare il feed di un canale YouTube informato degli ultimi video.
Vengono chiamati i programmi che accedono a questi feed e leggono e visualizzano i loro contenuti Lettori RSS. È possibile creare un semplice programma di lettura RSS in JavaScript. In questo tutorial, vedremo come.
Struttura di un feed RSS
Un feed RSS ha un elemento radice chiamato
, simile al tag trovato nei documenti HTML. Dentro il
tag, c'è un
elemento, un po 'come in HTML, quello include molti sotto-elementi contenente il contenuto distribuito del sito web.
Di solito un feed ne trasporta alcuni informazioni di base come titolo, URL e descrizione del sito Web e del singoli post aggiornati, articoli o altri contenuti di quel sito. Queste informazioni sono trovate in
, , e
elementi, rispettivamente.
Quando questi tag sono direttamente presente all'interno
, contengono il titolo, l'URL e la descrizione del sito web. Quando sono presente dentro
quello detiene le informazioni sui post aggiornati, rappresentano le stesse informazioni di prima ma quella dei singoli contenuti che ciascuna
rappresentare.
Ce ne sono anche alcuni elementi facoltativi che può essere presente in un feed RSS, fornendo informazioni supplementari come immagini o copyright sul contenuto distribuito. Puoi conoscerli in questo Specifiche RSS 2.0 a cyber.harvard.edu.
Ecco un esempio di come Feed RSS di un sito Web potrebbe assomigliare a:
Hongkiat https://www.hongkiat.com/Suggerimenti di design, tutorial e ispirazioni it-it Visualizza qualsiasi foglio di stile CSS con le statistiche CSS Vi siete mai chiesti quante regole CSS ci sono in un foglio di stile? O hai mai desiderato vedere ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show: l'ultimo dispositivo smart alimentato da Alexa Amazon non è estraneo al concetto di sistemi di casa intelligenti con un assistente digitale incorporato. Dopo tutto, il ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Recupero del feed
Abbiamo bisogno di prendi il feed con la nostra applicazione di lettura RSS. Su un sito web, l'URL di un feed RSS può essere trovato all'interno del tag usando il
application / rss + xml
genere. Ad esempio, troverai il seguente link del feed RSS su Hongkiat.com.
Per prima cosa, vediamo come ottieni l'URL del feed di un sito web usando JavaScript.
fetch (websiteUrl) .then ((res) => res.text (). then ((htmlTxt) => var domParser = new DOMParser () lascia doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('link [tipo = "applicazione / rss + xml"]'). href)). catch (() => console.error ('Errore nel recupero del sito web'))
Il fetch ()
il metodo è un metodo globale recupera in modo asincrono una risorsa. Prende l'URL della risorsa come argomento (l'URL del sito web nel nostro codice). esso restituisce a Promettere
oggetto, quindi quando il metodo recupera correttamente il sito Web (ad es Promettere
è soddisfatta), la prima funzione all'interno di poi()
dichiarazione gestisce la risposta recuperata (res
nel codice sopra).
La risposta recuperata è quindi completamente letto in una stringa di testo usando il testo()
metodo. Questo testo rappresenta il Testo HTML del nostro sito web recuperato. Piace fetch ()
, testo()
anche restituisce a Promettere
oggetto. Quindi, quando crea con successo un testo di risposta dal flusso di risposta, poi()
gestirà il testo di risposta (htmlText
nel codice sopra).
Una volta che il testo HTML del sito web è disponibile, usiamo API DOMParser
a analizzarlo in un documento DOM. DOMParser
analizza una stringa di testo XML / HTML in un documento DOM. Il suo metodo, parseFromString ()
, prende due argomenti: il testo da analizzare e il tipo di contenuto.
Quindi, dal documento DOM creato, noi trovare la href
valore del pertinente etichetta usando il
querySelector ()
metodo per ottenere l'URL del feed.
Analisi e visualizzazione del feed
Una volta ottenuto l'URL del feed del sito Web, è necessario scarica e leggi il documento RSS trovato a quell'URL.
fetch (feedUrl) .then ((res) => res.text (). then ((xmlTxt) => var domParser = new DOMParser () lascia doc = domParser.parseFromString (xmlTxt, 'text / xml') doc .querySelectorAll ('item'). forEach ((item) => let h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
Allo stesso modo in cui abbiamo recuperato e analizzato il sito web, ora siamo noi ottenere e analizzare il feed XML in un documento DOM. Per raggiungere questo, usiamo il 'Text / xml'
tipo di contenuto nel parseFromString ()
metodo.
Nel documento analizzato, noi seleziona tutto
elementi usando il querySelectorAll
metodo e loop attraverso ciascuno.
Dentro ogni elemento, possiamo accedi ai tag piace
,
, e , che stanno portando il contenuto del feed. E, con la nostra semplice applicazione per la lettura di RSS, puoi modellare il contenuto dei feed recuperati come desideri.
Demo Github
Puoi controllare il versione più dettagliata del codice utilizzato in questo post nel nostro repository Github. La versione più dettagliata recupera tre feed (Mozilla Hacks, Hongkiat e il blog Webkit) utilizzando un file JSON e aggiunge anche alcuni stili CSS al lettore RSS.