Начална » кодиране на стоките » Как да създадете приложение за четене на RSS в JavaScript

    Как да създадете приложение за четене на RSS в JavaScript

    RSS (наистина проста синдикация) е стандартизиран формат, използван от онлайн издателите за синдикират тяхното съдържание към други уебсайтове и услуги. Една RSS документ, известен също като a фураж, е XML документ носят съдържанието, което издателят желае да разпространява.

    RSS емисиите са достъпни на почти всички онлайн новинарски уебсайтове и блогове за техните читатели останете в крак с тяхното съдържание. Те също могат да бъдат намерени на уебсайтове, които не са базирани на текст като YouTube, където можете да използвате емисията на канал в YouTube информирани за последните видеоклипове.

    Извикват се програми, които имат достъп до тези канали и четат и показват съдържанието им RSS четци. Можете да създадете проста програма за четене на RSS в JavaScript. В този урок ще видим как да го направим.

    Структура на RSS емисия

    RSS емисия има корен елемент Наречен , подобно на в HTML документи. Вътре , има a елемент, нещо подобно в HTML, че включва много под-елементи съдържащо разпространеното съдържание на уебсайта.

    Фуражът обикновено носи някои основна информация като заглавието, URL адреса и описанието на уебсайта и на отделни актуализирани публикации, статии или друго съдържание на този уебсайт. Тази информация се намира в </code>, <code><link></code>, и <code><description></code> съответно.</p> <p>Когато тези маркери са <strong>директно присъства вътре <code><channel></code></strong>, притежават заглавието, URL адреса и описанието на уебсайта. Когато са <strong>присъства вътре <code><item></code></strong> че <strong>съдържа информация за актуализираните публикации</strong>, те представляват същата информация, както преди, но тази на индивидуалното съдържание, което всяка <code><item></code> представляват.</p> <p>Има и някои <strong>незадължителни елементи</strong> които могат да присъстват в RSS емисия, като осигуряват допълнителна информация като изображения или авторски права върху разпространеното съдържание. Можете да научите за тях в това <strong>Спецификация на RSS 2.0</strong> в cyber.harvard.edu.</p> <p>Ето пример за това как <strong>RSS емисия на уебсайт</strong> може да изглежда така:</p> <pre name="code"> <rss version="2.0"> <channel> <title>Hongkiat https://www.hongkiat.com/ Съвети за проектиране, ръководство и вдъхновения ен-ни Визуализирайте всяка CSS стилова таблица с CSS статистика Чудили ли сте се колко CSS правила са в стилова таблица? Или някога сте искали да видите ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/ Amazon Echo Show - Най-новото устройство, управлявано от Алекса Amazon не е непознат на концепцията за интелигентни системи за дома с вграден цифров помощник. Все пак… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/

    Извличане на емисията

    Ние трябва да донесе фураж с нашата програма за четене на RSS. В уебсайт URL адресът на RSS емисия може да бъде намерени вътре с помощта на прилагане / RSS + XML Тип. Например, ще намерите следната връзка за RSS емисия на Hongkiat.com.

      

    Първо, нека видим как получавате URL адреса на емисията на уебсайт използване на JavaScript.

     fetch (websiteUrl) .След това ((res) => res.text ().) ((htmlTxt) => var domParser = нов DOMParser () нека doc = domParser.parseFromString (htmlTxt, 'text / html') feedUrl = doc.querySelector ('връзка [type = "application / rss + xml"]'). href)). catch (() => console.error ("Грешка при извличане на уебсайта")) 

    Най- донесе () метод е глобален метод, който асинхронно извлича ресурс. URL адресът на ресурса се приема като аргумент (URL на уебсайта в нашия код). То връща a обещание обект, така че когато методът успешно извлича уебсайта (т.е. обещание е изпълнена), първата функция вътре в тогава() изявление обработва изтегления отговор (ВЕИ в горния код).

    Полученият отговор е след това напълно чете в текстов низ използвайки текст() метод. Този текст представлява HTML текст на извлечения уебсайт. като донесе (), текст() също връща a обещание обект. Така че, когато успешно създава текст на отговор от потока с отговори, тогава() ще обработи този текст за отговор (htmlText в горния код).

    След като HTML текста на уебсайта е наличен, ние използваме API на DOMParser да се анализирайте го в DOM документ. DOMParser анализира XML / HTML текстов низ в DOM документ. Методът му, parseFromString (), отнема два аргумента: текст, който трябва да бъде анализиран и тип съдържание.

    След това от създадения DOM документ намери HREF стойност на съответните свободен край използвайки querySelector () метод, за да получите URL адреса на емисията.

    Анализиране и показване на емисията

    След като получим URL адреса на емисията, трябва извличане и четене на RSS документа на този URL адрес.

     fetch (feedUrl) .След това ((res) => res.text ().) ((xmlTxt) => var domParser = нов DOMParser () нека doc = domParser.parseFromString (xmlTxt, 'text / xml') doc forEach ((item) => нека h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1)))) 

    По същия начин, както ние извличахме и анализирахме уебсайта, сега ние получавате и анализирате XML канала в DOM документ. За да постигнем това, използваме "Текст / XML" тип съдържание в parseFromString () метод.

    В разбрания документ ние изберете всички елементи използвайки querySelectorAll метод и преминава през всяка от тях.

    Във всеки елемент можем етикети за достъп като </code>, <code><description></code>, и <code><link></code>, които носят съдържанието на фуражи. И нашето просто приложение за четене на RSS е готово, можете да стилизирате съдържанието на изтеглените емисии, както желаете.</p> <h4>Демо Github</h4> <p>Можете да проверите <strong>по-подробна версия</strong> на кода, използван в тази публикация в нашия Github repo. По-подробната версия <strong>извлича три емисии</strong> (Mozilla Hacks, Hongkiat и блога на Webkit) <strong>използване на JSON файл</strong> и добавя някои CSS стилове към RSS четеца.</p> <div class="rek-block"> <center> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6284591903398394" data-ad-slot="6432271471" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </center> </div> </div> </div> <div class="col-md-4"> <div class="bar"> <div class="rek-block"> <center> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6284591903398394" data-ad-slot="6432271471" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </center> </div> <div class="barpost"> <div class="bar-post-img"><a href="/articles/howto/how-to-create-a-secretly-disguised-folder-without-extra-software.html"><img src="//savtec.org/img/images_7/how-to-create-a-secretly-disguised-folder-without-extra-software_11.png" alt=""></a></div> <div class="bar-post-h1"> <a href="/articles/howto/how-to-create-a-secretly-disguised-folder-without-extra-software.html">Как да създадете тайно прикрита папка без допълнителен софтуер</a> </div> </div> <div class="barpost"> <div class="bar-post-img"><a href="/articles/computer-tips/how-to-create-a-secured-and-locked-folder-in-windows-xp.html"><img src="//savtec.org/img/images/how-to-create-a-secured-and-locked-folder-in-windows-xp.jpg" alt=""></a></div> <div class="bar-post-h1"> <a href="/articles/computer-tips/how-to-create-a-secured-and-locked-folder-in-windows-xp.html">Как да създадете защитена и заключена папка в Windows XP</a> </div> </div> <div class="barpost"> <div class="bar-post-img"><a href="/articles/coding/how-to-create-a-responsive-navigation.html"><img src="//savtec.org/img/images_2/how-to-create-a-responsive-navigation.jpg" alt=""></a></div> <div class="bar-post-h1"> <a href="/articles/coding/how-to-create-a-responsive-navigation.html">Как да създадете отзивчива навигация</a> </div> </div> </div> </div> </div> </div> <div class="prevnext"> <div class="container"> <div class="row"> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Следваща статия</div> <div class="post-img"><a href="/articles/howto/how-to-create-a-search-shortcut-on-the-desktop-in-windows-8-1.html"> <img src="//savtec.org/img/images_7/how-to-create-a-search-shortcut-on-the-desktop-in-windows-81_6.png" alt=""> </a></div> <div class="post-h1"> <a href="/articles/howto/how-to-create-a-search-shortcut-on-the-desktop-in-windows-8-1.html">Създаване на пряк път за търсене на работния плот в Windows 8.1</a> </div> </div> </div> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Предишна статия</div> <div class="post-img"><a href="/articles/smart-home/how-to-create-a-routine-with-amazon-alexa.html"> <img src="//savtec.org/img/images/how-to-create-a-routine-with-amazon-alexa.jpg" alt=""> </a></div> <div class="post-h1"> <a href="/articles/smart-home/how-to-create-a-routine-with-amazon-alexa.html">Как да създадете рутинни с Amazon Alexa</a> </div> </div> </div> </div> </div> </div> <footer> <div class="container"> <div class="langs-block"> <ul class="langs-list"> <li class="site-lang"><a href="https://www.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-TH"></i></a></li> <li class="site-lang"><a href="https://de.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-DE"></i></a></li> <li class="site-lang"><a href="https://ar.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-AE"></i></a></li> <li class="site-lang"><a href="https://bg.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-BG"></i></a></li> <li class="site-lang"><a href="https://cs.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-CZ"></i></a></li> <li class="site-lang"><a href="https://da.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-DK"></i></a></li> <li class="site-lang"><a href="https://el.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-GR"></i></a></li> <li class="site-lang"><a href="https://es.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-ES"></i></a></li> <li class="site-lang"><a href="https://et.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-EE"></i></a></li> <li class="site-lang"><a href="https://fi.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-FI"></i></a></li> <li class="site-lang"><a href="https://fr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-FR"></i></a></li> <li class="site-lang"><a href="https://he.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-IL"></i></a></li> <li class="site-lang"><a href="https://hi.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-IN"></i></a></li> <li class="site-lang"><a href="https://hr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-HR"></i></a></li> <li class="site-lang"><a href="https://hu.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-HU"></i></a></li> <li class="site-lang"><a href="https://id.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-ID"></i></a></li> <li class="site-lang"><a href="https://it.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-IT"></i></a></li> <li class="site-lang"><a href="https://ja.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-JP"></i></a></li> <li class="site-lang"><a href="https://ko.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-KR"></i></a></li> <li class="site-lang"><a href="https://lt.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-LT"></i></a></li> <li class="site-lang"><a href="https://lv.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-LV"></i></a></li> <li class="site-lang"><a href="https://ms.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-MY"></i></a></li> <li class="site-lang"><a href="https://nl.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-NL"></i></a></li> <li class="site-lang"><a href="https://no.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-NO"></i></a></li> <li class="site-lang"><a href="https://pl.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-PL"></i></a></li> <li class="site-lang"><a href="https://pt.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-PT"></i></a></li> <li class="site-lang"><a href="https://ro.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-RO"></i></a></li> <li class="site-lang"><a href="https://ru.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-RU"></i></a></li> <li class="site-lang"><a href="https://sk.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-SK"></i></a></li> <li class="site-lang"><a href="https://sl.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-SI"></i></a></li> <li class="site-lang"><a href="https://sr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-RS"></i></a></li> <li class="site-lang"><a href="https://sv.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-SE"></i></a></li> <li class="site-lang"><a href="https://tr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-TR"></i></a></li> <li class="site-lang"><a href="https://ua.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-UA"></i></a></li> <li class="site-lang"><a href="https://vi.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-VN"></i></a></li> </ul> </div> <div class="row align-items-center"> <div class="col-md-3"> © <script> var currentTime = new Date(); var year = currentTime.getFullYear(); document.write(year); </script> <a href="/">Savtec</a> </div> <div class="col-md-9"> Полезна информация и съвети за уеб разработка. Програмиране, уеб дизайн, CSS, HTML, JAVASCRIPT. Конфигурирайте и инсталирайте отново WINDOWS. Създаване на сайтове и приложения от нулата. </div> </div> </div> </footer> <link rel="stylesheet" href="css/flags.css"> <script src="https://unpkg.com/simple-jekyll-search@1.5.0/dest/simple-jekyll-search.min.js"></script> <script> SimpleJekyllSearch({ searchInput: document.getElementById('search-input'), resultsContainer: document.getElementById('results-container'), json: '/search.json', searchResultTemplate: '<li><a href="{url}">{title}</a></li>' }) </script> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function(){ window.cookieconsent.initialise({ "palette": { "popup": { "background": "#edeff5", "text": "#838391" }, "button": { "background": "#4b81e8" } }, "theme": "classic", "position": "bottom-right" })}); </script> </body> </html>