Kako ustvariti aplikacijo RSS Reader v JavaScriptu
RSS (Really Simple Syndication) je standardizirana oblika, ki jo uporabljajo spletni izdajatelji njihovo vsebino na druge spletne strani in storitve. An RSS dokument, znan tudi kot a krme, je XML dokument vsebino, ki jo želi izdajatelj distribuirati.
Viri RSS so na voljo na skoraj vseh spletnih straneh s spletnimi novicami in blogih, na katere lahko bralci ostanite na tekočem z njihovo vsebino. Lahko jih najdete tudi na spletne strani brez besedila na primer YouTube, kjer lahko uporabite vir kanala YouTube obveščeni o najnovejših videih.
Pokličejo se programi, ki dostopajo do teh virov in berejo ter prikazujejo njihovo vsebino Bralniki RSS. V JavaScriptu lahko ustvarite preprost program za bralnik RSS. V tej vadnici bomo videli, kako.
Struktura vira RSS
Vir RSS ima korenski element imenuje
, podobne v dokumentih HTML. V notranjosti
oznaka, obstaja
element, nekako podoben v HTML, to vključuje veliko podelementov vsebujejo distribuirano vsebino spletnega mesta.
Krma ponavadi nosi nekaj Osnovni podatki kot so naslov, URL in opis spletne strani in spletnega mesta posamezne posodobljene objave, članke ali druge vsebine spletne strani. Te informacije najdete v
, , in
elementov.
Ko so te oznake neposredno prisotni v notranjosti
, imajo naslov, URL in opis spletne strani. Ko so v notranjosti
to vsebuje podatke o posodobljenih objavah, predstavljajo enake informacije kot prej kot za posamezne vsebine
zastopajo.
Obstaja tudi nekaj neobvezni elementi ki so lahko prisotni v viru RSS, zagotavljajo dodatne informacije, kot so slike ali avtorske pravice za distribuirano vsebino. O tem se lahko naučite v tem Specifikacija RSS 2.0 na cyber.harvard.edu.
Tukaj je vzorec kako RSS vir spletne strani lahko izgleda:
Hongkiat https://www.hongkiat.com/Design Tips, Tutorial in Inspirations en-us Vizualizirajte vse sloge CSS s statistiko CSS Ste se kdaj vprašali, koliko pravil CSS je v slogu slogov? Ali si že kdaj želel videti ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - najnovejša pametna naprava, ki jo poganja Alexa Amazon ni čuden koncept pametnih sistemov doma z vgrajenim digitalnim pomočnikom. Navsezadnje ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Pridobivanje krme
Moramo prenesite vir z uporabo našega bralnika RSS. Na spletnem mestu je lahko URL vira RSS v notranjosti z oznako
application / rss + xml
vrsto. Na primer, na spletnem mestu Hongkiat.com boste našli naslednjo povezavo vira RSS.
Najprej poglejmo, kako dobite URL vira spletnega mesta z uporabo JavaScripta.
potem ((res) => res.text ().), nato ((htmlTxt) => var domParser = novo DOMParser () naj doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('povezava [type = "application / rss + xml"]'). href)) catch (() => console.error ("Napaka pri pridobivanju spletnega mesta"))
The prinesi ()
metoda je globalna metoda, ki asinhrono pridobiva vir. URL vira vzame kot argument (URL spletne strani v naši kodi). To vrne a Obljubi
predmet, tako da, ko metoda uspešno pridobi spletno mesto (tj Obljubi
je izpolnjena), prva funkcija znotraj nato ()
izjavo obravnava pridobljeni odziv (res
v zgornji kodi).
Prevzeti odziv je potem v celoti prebral v besedilni niz uporabljati besedilo ()
metodo. To besedilo predstavlja Besedilo HTML našega pridobljenega spletnega mesta. Kot prinesi ()
, besedilo ()
prav tako vrne a Obljubi
predmet. Torej, ko je uspešno ustvaril odzivno besedilo iz odzivnega toka, nato ()
bo obravnaval to besedilo odgovora (htmlText
v zgornji kodi).
Ko je besedilo HTML spletnega mesta na voljo, ga uporabljamo API DOMParser
do razčleniti v dokument DOM. DOMParser
razčleni besedilni niz XML / HTML v dokument DOM. Njegova metoda, parseFromString ()
, traja dva argumenta: besedilo, ki ga želite razčleniti in vrsto vsebine.
Nato iz ustvarjenega dokumenta DOM Poišči href
vrednosti zadevnega oznaka uporabljati
querySelector ()
za pridobitev URL-ja vira.
Razčlenjevanje in prikazovanje vira
Ko dobimo URL vira spletnega mesta, moramo to storiti pridobivanje in branje dokumenta RSS najdete na tem URL-ju.
fetch (feedUrl) .potem ((res) => res.text ().) ((xmlTxt) => var domParser = novo DOMParser () naj doc = domParser.parseFromString (xmlTxt, 'text / xml') doc forEach ((item) => naj h1 = document.createElement ('h1') h1.textContent = item.querySelector ('naslov'). textContent document.querySelector ('output'). appendChild (h1))))
Na enak način, kot smo naredili in razčlenili spletno stran, zdaj smo dobite in razčlenite vir XML v dokument DOM. Da bi to dosegli, uporabljamo "text / xml"
vrsto vsebine v parseFromString ()
metodo.
V razčlenjenem dokumentu izberite vse
elementov uporabljati querySelectorAll
metodo in prekrižite vsakega.
V vsakem elementu lahko dostopnih oznak podobno
,
, in , ki vsebujejo krmo. Naša preprosta aplikacija za branje RSS je narejena, tako da lahko slog vsebine pridobljenih virov hranite po vaši želji.
Github demo
Lahko preverite podrobnejša različica kode, ki se uporablja v tej objavi v našem Github repo. Podrobnejša različica dobi tri vire (Mozilla Hacks, Hongkiat in spletni dnevnik Webkit) z uporabo datoteke JSON in bralniku RSS doda tudi nekaj stilov CSS.