Kaip sukurti „RSS“ skaitymo programą „JavaScript“
RSS („Really Simple Syndication“) yra standartizuotas formatas, kurį internetiniai leidėjai naudoja sindikuoti jų turinį kitoms svetainėms ir paslaugoms. An RSS dokumentas, taip pat žinomas kaip a maitinti, yra XML dokumentas turinį, kurį leidėjas nori platinti.
RSS kanalai yra prieinami beveik visose interneto naujienų svetainėse ir tinklaraščiuose, kuriuose skaitytojai gali nuolat atnaujinti savo turinį. Juos taip pat galima rasti ne tekstinėmis svetainėmis pvz., „YouTube“, kur galite naudoti „YouTube“ kanalo kanalą apie naujausius vaizdo įrašus.
Skambinamos programos, leidžiančios pasiekti šiuos kanalus ir skaityti bei rodyti jų turinį RSS skaitytojai. „JavaScript“ programoje galite sukurti paprastą RSS skaitymo programą. Šioje instrukcijoje pamatysime, kaip.
RSS informacijos santraukos struktūra
RSS kanalas turi šakninį elementą vadinamas
, panašus į žyma, esanti HTML dokumentuose. Viduje
žyma, yra a
elementas, panašus HTML, tai apima daug elementų turinčius platinamą svetainės turinį.
Paprastai pašaruose yra pašarų Pagrindinė informacija pvz., svetainės pavadinimas, URL ir aprašymas individualūs atnaujinti įrašai, straipsniai ar kitas turinys svetainėje. Ši informacija yra
, , ir
elementus.
Kai šios žymės yra viduje
, jie turi svetainės pavadinimą, URL ir aprašymą. Kai jie yra viduje
kad turi informaciją apie atnaujintus įrašus, jie atstovauja tą pačią informaciją, kaip ir anksčiau, bet kiekvienos atskiros informacijos
atstovauti.
Taip pat yra keletas neprivalomi elementai kuri gali būti teikiama RSS kanale, teikiant papildomą informaciją, pvz., vaizdus ar autorių teises, apie platinamą turinį. Apie juos galite sužinoti šiame RSS 2.0 specifikacija cyber.harvard.edu.
Štai pavyzdys, kaip Svetainės RSS kanalas gali atrodyti:
Hongkiat https://www.hongkiat.com/Dizaino patarimai, pamoka ir įkvėpimai lt-mums Vizualizuokite bet kurią CSS stilių lentelę su CSS statistika Ar kada nors susimąstėte, kiek CSS taisyklių yra stiliaus lape? Arba kada nors norėjote pamatyti… 17/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/„Amazon Echo Show“ - naujausias „Alexa“ valdomas „Smart Device“ „Amazon“ nepažįsta protingų namų sistemų koncepcijos su integruotu skaitmeniniu asistentu. Galų gale,… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Gaunamas pašaras
Mums reikia pareikalauti pašarų su mūsų RSS skaitytuvo programa. Svetainėje gali būti RSS kanalo URL rasti viduje žyma naudojant
application / rss + xml
tipas. Pavyzdžiui, „Hongkiat.com“ rasite šią RSS informacijos santrauką.
Pirma, pažiūrėkime, kaip gauti svetainės URL adresą naudojant „JavaScript“.
fetch (websiteUrl) .then ((res) => res.text (). tada ((htmlTxt) => var domParser = new DOMParser () tegul doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector (nuoroda [type = "application / rss + xml"] '). href)). catch (() => console.error („Klaida įkeliant svetainę“))
The atsiimti ()
metodas yra pasaulinis metodas asinchroniškai atsiunčia šaltinį. Jis nurodo šaltinio URL kaip argumentą (mūsų kodo svetainės URL). Tai grąžina a Pažadas
todėl, kai metodas sėkmingai atsiunčia svetainę (t. y Pažadas
įvykdyta), pirmoji funkcija viduje tada ()
pareiškimas tvarko atsiųstą atsakymą (res
virš kodo).
Tada gautas atsakymas visiškai perskaityti į teksto eilutę naudojant tekstas ()
metodas. Šis tekstas reiškia HTML įkeltos svetainės tekstas. Kaip atsiimti ()
, tekstas ()
taip pat grąžina a Pažadas
objektą. Taigi, kai jis sėkmingai sukuria atsakymo tekstą iš atsakymo srauto, tada ()
tvarkys šį atsakymo tekstą (htmlText
virš kodo).
Kai bus prieinamas HTML svetainės tekstas, mes naudojame DOMParser API
į išanalizuoti jį į DOM dokumentą. DOMParser
analizuoja XML / HTML teksto eilutę į DOM dokumentą. Jo metodas, parseFromString ()
, mano du argumentai: tekstą, kurį reikia išanalizuoti ir turinio tipas.
Tada iš sukurto DOM dokumento mes Surask href
atitinkamos vertės žyma naudojant
querySelector ()
metodas, kad gautumėte pašarų URL.
Pašarų analizavimas ir rodymas
Kai gausime svetainės informacijos URL, turime atsiųskite ir perskaitykite RSS dokumentą rasti tame URL.
fetch (feedUrl) .then ((res) => res.text (). tada ((xmlTxt) => var domParser = naujas DOMParser () leiskite doc = domParser.parseFromString (xmlTxt, „text / xml“) doc .querySelectorAll ('item') .EE (kiekvienas elementas) => let h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
Tokiu pat būdu, kaip mes parsisiuntome ir analizavome svetainę, dabar mes gauti ir analizuoti XML kanalą į DOM dokumentą. Norėdami tai pasiekti, mes naudojame „text / xml“
turinio tipas parseFromString ()
metodas.
Išnagrinėtoje dokumente mes pasirinkite visus
elementus naudojant querySelectorAll
metodas ir per kiekvieną.
Kiekviename elemente galime prieigos žymos Kaip
,
, ir , kurie turi pašarų turinį. Be to, mūsų paprasta RSS skaitytuvo programa yra sukurta, galite sugalvoti gautų kanalų turinį taip, kaip norite.
„Github“ demo
Galite patikrinti išsamesnė versija kodą, naudojamą šiame pranešime „Github“ repo. Išsamesnė versija atsiunčia tris kanalus („Mozilla Hacks“, „Hongkiat“ ir „Webkit“ tinklaraštis) naudojant JSON failą ir taip pat įtraukia kai kuriuos CSS stilius į RSS skaitytuvą.