홈페이지 » 코딩 » 자바 스크립트에서 RSS 리더 앱을 만드는 방법

    자바 스크립트에서 RSS 리더 앱을 만드는 방법

    RSS (Really Simple Syndication) 온라인 게시자가 사용하는 표준 형식입니다. 그들의 내용을 신디케이트하다 다른 웹 사이트 및 서비스로 안 RSS 문서, 일컬어 a 먹이, 이다 XML 문서 게시자가 배포하려는 콘텐츠 보유.

    거의 모든 온라인 뉴스 웹 사이트 및 블로그에서 RSS 피드를 사용하여 독자들에게 내용을 최신으로 유지한다.. 그들은 또한에 발견 될 수있다. 텍스트 기반이 아닌 웹 사이트 YouTube 채널 피드를 사용할 수있는 YouTube와 같은 최신 동영상 정보.

    이러한 피드에 액세스하고 내용을 읽고 표시하는 프로그램을 호출합니다. RSS 리더. 자바 스크립트로 간단한 RSS 리더 프로그램을 만들 수 있습니다. 이 자습서에서는.

    RSS 피드의 구조

    RSS 피드 루트 요소가있다. 전화 한 , 그와 비슷한 태그가 HTML 문서에 있습니다. 내부 태그에는 요소, 같은 종류 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>홍 키아 트 https://www.hongkiat.com/ 디자인 팁, 튜토리얼 및 영감 en-us CSS 통계가있는 모든 CSS 스타일 시트 시각화 스타일 시트에 얼마나 많은 CSS 규칙이 있는지 궁금한가요? 아니면보고 싶었던가 ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/ Amazon Echo Show - 최신 알렉사 구동 스마트 장치 아마존은 디지털 보조 장치가 내장 된 스마트 홈 시스템 개념을 모르는 사람이 아닙니다. 결국, ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/

    피드 가져 오기

    우리는 피드 가져 오기 우리의 RSS 독자 신청으로. 웹 사이트에서 RSS 피드의 URL은 내부에서 발견 태그를 사용하여 애플리케이션 / rss + xml 유형. 예를 들어 Hongkiat.com에서 다음 RSS 피드 링크를 찾을 수 있습니다..

      

    먼저, 웹 사이트의 피드 URL 가져 오기 JavaScript 사용.

     doc = domParser.parseFromString (htmlTxt, 'text / html') var에 새로운 DOMParser ()를 보냅니다. var () catch (() => console.error ( '웹 사이트 가져 오기 오류')) 

    그만큼 술책() 메소드는 비동기 적으로 자원을 가져옵니다.. 인수 (코드에서 웹 사이트의 URL)로 자원의 URL을 사용합니다. 그것 ~을 반환합니다. 약속 객체이므로 웹 사이트가 성공적으로 가져올 때 (즉, 약속 성취된다). 그때() 성명서 가져온 응답을 처리합니다. (입술 위 코드에서).

    가져온 응답은 다음과 같습니다. 텍스트 문자열로 완전히 읽는다. ~을 사용하여 본문() 방법. 이 텍스트는 가져온 웹 사이트의 HTML 텍스트. 처럼 술책(), 본문() 또한 ~을 반환합니다. 약속 목적. 따라서 응답 스트림에서 응답 텍스트를 성공적으로 만들면, 그때() 해당 응답 텍스트를 처리합니다 (htmlText 위 코드에서).

    웹 사이트의 HTML 텍스트를 사용할 수있게되면 DOMParser API그것을 DOM 문서로 파싱한다.. DOMParser XML / HTML 텍스트 문자열을 DOM 문서로 구문 분석합니다. 그 방법, parseFromString (), 걸리다 두 가지 주장: 구문 분석 할 텍스트 그리고 컨텐츠 타입.

    그런 다음, 만들어진 DOM 문서에서 우리는 찾아라 href 관련 가치 꼬리표 ~을 사용하여 querySelector () 피드의 URL을 얻기위한 메소드.

    피드 파싱 및 표시

    웹 사이트의 피드 URL을 얻은 후에는 RSS 문서 가져 오기 및 읽기 해당 URL에서 찾았습니다..

     doc = domParser.parseFromString (xmlTxt, 'text / xml') doc doc = domParser.parseFromString (xmlTxt, 'text / xml') 문서를 가져 오려면 fetch (feedUrl) .then (res) => res.text (). 다음 (xmlTxt) => var domParser = new DOMParser textContent document.querySelector ( 'output') .querySelectorAll ( 'item') .forEach (item) => h1 = document.createElement ( 'h1') h1.textContent = item.querySelector ( 'title'). 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>3 개의 피드를 가져옵니다.</strong> (Mozilla Hacks, Hongkiat 및 Webkit 블로그) <strong>JSON 파일 사용</strong> 또한 RSS 리더에 CSS 스타일을 추가합니다..</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">아마존 알렉사와 루틴을 만드는 방법</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>