Jak utworzyć aplikację czytnika RSS w JavaScript
RSS (Really Simple Syndication) to standardowy format używany przez wydawców internetowych syndykować ich zawartość do innych stron i usług. Na Dokument RSS, znany również jako a karmić, jest Dokument XML przenoszenie treści, które wydawca chce rozpowszechniać.
Kanały RSS są dostępne w prawie wszystkich internetowych serwisach informacyjnych i blogach dla swoich czytelników bądź na bieżąco z ich treścią. Można je również znaleźć na strony nie oparte na tekście np. YouTube, gdzie można wykorzystać kanał kanału YouTube poinformowany o najnowszych filmach.
Programy, które uzyskują dostęp do tych kanałów i odczytują i wyświetlają ich zawartość Czytniki RSS. Możesz stworzyć prosty program czytający RSS w JavaScript. W tym samouczku zobaczymy, jak to zrobić.
Struktura kanału RSS
Kanał RSS ma element główny nazywa
, podobny do tag znaleziony w dokumentach HTML. W środku
tag, jest
element, trochę jak w HTML to zawiera wiele podelementów zawierające rozproszoną zawartość strony internetowej.
Pasza zwykle nosi kilka podstawowe informacje takie jak tytuł, adres URL i opis strony internetowej i poszczególne zaktualizowane posty, artykuły lub inne treści tej strony. Te informacje znajdują się w
, , i
elementy, odpowiednio.
Kiedy te znaczniki są bezpośrednio w środku
, posiadają tytuł, adres URL i opis strony internetowej. Kiedy są obecny w środku
że przechowuje informacje o zaktualizowanych postach, reprezentują te same informacje, co poprzednio, ale informacje o poszczególnych treściach
przedstawiać.
Jest też kilka opcjonalne elementy które mogą być obecne w kanale RSS, dostarczając dodatkowe informacje, takie jak obrazy lub prawa autorskie do dystrybuowanych treści. Możesz się o nich dowiedzieć Specyfikacja RSS 2.0 w cyber.harvard.edu.
Oto przykład tego, jak Kanał RSS strony internetowej może wyglądać tak:
Hongkiat https://www.hongkiat.com/Porady dotyczące projektowania, samouczek i inspiracje en-us Wizualizuj dowolny arkusz stylów CSS ze statystykami CSS Czy zastanawiałeś się kiedyś, ile reguł CSS znajduje się w arkuszu stylów? A może kiedykolwiek chciałeś zobaczyć… 18.05.2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - najnowsze urządzenie inteligentne zasilane przez Alexę Amazon nie jest obcy koncepcji systemów inteligentnego domu z wbudowanym asystentem cyfrowym. W końcu… 17.05.2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Pobieranie kanału
Musimy pobierz kanał z naszą aplikacją czytnika RSS. Na stronie internetowej może być adres URL kanału RSS znalezione wewnątrz tag za pomocą
application / rss + xml
rodzaj. Na przykład znajdziesz następujący kanał RSS na stronie Hongkiat.com.
Po pierwsze, zobaczmy, jak to zrobić pobierz adres URL strony internetowej używając JavaScript.
fetch (websiteUrl) .then ((res) => res.text (). then ((htmlTxt) => var domParser = new DOMParser () niech doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('link [type = "application / rss + xml"]'). href)). catch (() => console.error („Błąd podczas pobierania strony”))
The sprowadzać()
metoda jest globalną metodą asynchronicznie pobiera zasób. Jako argument pobiera adres URL zasobu (adres URL witryny w naszym kodzie). To zwraca a Obietnica
obiekt, więc gdy metoda pomyślnie pobiera stronę (tj Obietnica
jest spełniony), pierwsza funkcja wewnątrz następnie()
komunikat obsługuje pobraną odpowiedź (res
w powyższym kodzie).
Pobierana jest wtedy odpowiedź w pełni wczytać do ciągu tekstowego używając tekst()
metoda. Ten tekst reprezentuje Tekst HTML naszej pobranej strony internetowej. Lubić sprowadzać()
, tekst()
również zwraca a Obietnica
obiekt. Tak więc, gdy pomyślnie utworzy tekst odpowiedzi ze strumienia odpowiedzi, następnie()
obsłuży ten tekst odpowiedzi (htmlText
w powyższym kodzie).
Po udostępnieniu tekstu HTML strony używamy DOMParser API
do parsuj go do dokumentu DOM. DOMParser
analizuje ciąg tekstowy XML / HTML w dokumencie DOM. Jego metoda, parseFromString ()
, trwa dwa argumenty: the tekst do przeanalizowania i Typ zawartości.
Następnie z utworzonego dokumentu DOM, my znaleźć href
wartość odpowiedniego etykietka używając
querySelector ()
metoda w celu uzyskania adresu URL kanału.
Analizowanie i wyświetlanie kanału
Po otrzymaniu adresu URL strony internetowej musimy pobierz i przeczytaj dokument RSS znaleziony pod tym adresem URL.
fetch (feedUrl) .then ((res) => res.text (). then ((xmlTxt) => var domParser = nowy DOMParser () niech doc = domParser.parseFromString (xmlTxt, 'text / xml') doc .querySelectorAll ('item'). forEach ((item) => niech h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
W ten sam sposób, w jaki pobieraliśmy i analizowaliśmy stronę, teraz my Pobierz i przeanalizuj kanał XML do dokumentu DOM. Aby to osiągnąć, używamy „text / xml”
typ zawartości w parseFromString ()
metoda.
W analizowanym dokumencie my wybierz wszystkie
elementy używając querySelectorAll
metoda i przechodzić przez każdą z nich.
Wewnątrz każdego elementu możemy znaczniki dostępu lubić
,
, i , które niosą zawartość paszy. A nasza prosta aplikacja czytnika RSS jest gotowa, możesz stylizować zawartość pobieranych kanałów, jak chcesz.
Demo Github
Możesz sprawdzić bardziej szczegółowa wersja kodu użytego w tym poście w naszym repozytorium Github. Bardziej szczegółowa wersja pobiera trzy kanały (Mozilla Hacks, Hongkiat i blog Webkit) za pomocą pliku JSON a także dodaje kilka stylów CSS do czytnika RSS.