Como criar um aplicativo de leitor de RSS em JavaScript
RSS (Really Simple Syndication) é um formato padronizado usado por editores on-line para distribuir seu conteúdo para outros sites e serviços. A Documento RSS, também conhecido como alimentação, é um Documento XML carregando o conteúdo que um editor deseja distribuir.
Os feeds RSS estão disponíveis em quase todos os sites de notícias e blogs on-line para que seus leitores mantenha-se atualizado com seu conteúdo. Eles também podem ser encontrados em sites não baseados em texto como o YouTube, onde você pode usar o feed de um canal do YouTube para ser informado sobre os vídeos mais recentes.
Programas que acessam esses feeds e lêem e exibem seus conteúdos são chamados Leitores de RSS. Você pode criar um programa simples de leitor de RSS em JavaScript. Neste tutorial, vamos ver como.
Estrutura de um feed RSS
Um feed RSS tem um elemento raiz chamado
, semelhante ao tag encontrada em documentos HTML. Dentro de
tag, existe um
elemento, tipo de gosto em HTML, isso inclui muitos subelementos contendo o conteúdo distribuído do site.
Um feed geralmente leva alguns informação básica como o título, URL e descrição do site e do site postagens, artigos ou outros conteúdos atualizados individualmente desse site. Essas informações são encontradas em
, , e
elementos, respectivamente.
Quando essas tags são diretamente presente dentro
, eles possuem o título, o URL e a descrição do site. Quando eles estão presente dentro
naquela contém as informações sobre as postagens atualizadas, eles representam a mesma informação de antes, mas a do conteúdo individual que cada
representar.
Existem também alguns elementos opcionais que pode estar presente em um feed RSS, fornecendo informações complementares, como imagens ou direitos autorais, sobre o conteúdo distribuído. Você pode aprender sobre eles neste Especificação RSS 2.0 em cyber.harvard.edu.
Aqui está uma amostra de como o Feed RSS de um site pode parecer com:
Hongkiat https://www.hongkiat.com/Dicas de Design, Tutorial e Inspirações en-us Visualize qualquer folha de estilo CSS com CSS Stats Já imaginou quantas regras CSS estão em uma folha de estilo? Ou você já quis ver ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - O mais recente dispositivo inteligente com alimentação Alexa A Amazon não é estranha ao conceito de sistemas domésticos inteligentes com um assistente digital incorporado. Afinal, o… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Buscando o feed
Nós precisamos buscar o feed com o nosso aplicativo leitor de RSS. Em um site, o URL de um feed RSS pode ser encontrado dentro do tag usando o
aplicativo / rss + xml
tipo. Por exemplo, você encontrará o seguinte link de feed RSS em Hongkiat.com.
Primeiro, vamos ver como obter o URL do feed de um website usando JavaScript.
fetch (websiteUrl) .then ((res) => res.text (). then ((htmlTxt) => var domParser = novo DOMParser () let doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('link [type = "aplicativo / rss + xml"]'). href)). catch (() => console.error ('Erro ao buscar o site'))
o buscar()
método é um método global que de forma assíncrona obtém um recurso. Leva a URL do recurso como um argumento (a URL do site em nosso código). isto retorna um Promessa
objeto, então quando o método busca com sucesso o site (ou seja, o Promessa
é cumprida), a primeira função dentro do então()
declaração lida com a resposta buscada (res
no código acima).
A resposta buscada é então leia completamente em uma string de texto usando o texto()
método. Este texto representa o Texto HTML do nosso site buscado. Gostar buscar()
, texto()
Além disso retorna um Promessa
objeto. Então, quando ele cria com sucesso um texto de resposta a partir do fluxo de resposta, então()
irá lidar com esse texto de resposta (htmlText
no código acima).
Uma vez que o texto HTML do site esteja disponível, nós usamos API DOMParser
para analisá-lo em um documento DOM. DOMParser
analisa uma cadeia de texto XML / HTML em um documento DOM. Seu método, parseFromString ()
, leva dois argumentos: a texto a ser analisado e a tipo de conteúdo.
Então, a partir do documento DOM criado, nós encontre o href
valor do relevante tag usando o
querySelector ()
método para obter o URL do feed.
Analisando e exibindo o feed
Assim que tivermos o URL do feed do site, precisamos buscar e ler o documento RSS encontrado nessa URL.
fetch (feedUrl) .then ((res) => res.text (). então ((xmlTxt) => var domParser = new DOMParser () deixa doc = domParser.parseFromString (xmlTxt, 'text / xml') doc .querySelectorAll ('item'). forEach ((item) => let h1 = document.createElement ('h1') h1.textContent = item.querySelector ('título'). textContent document.querySelector ('saída'). appendChild (h1))))
Da mesma forma que buscamos e analisamos o site, agora obter e analisar o feed XML em um documento DOM. Para conseguir isso, usamos o 'text / xml'
tipo de conteúdo no parseFromString ()
método.
No documento analisado, nós selecione todos os
elementos usando o querySelectorAll
método e loop através de cada.
Dentro de cada elemento, podemos tags de acesso gostar
,
, e , que estão transportando o conteúdo do feed. E, nossa simples aplicação de leitor de RSS é feita, você pode estilizar o conteúdo dos feeds buscados como você deseja.
Demonstração do Github
Você pode conferir o versão mais detalhada do código usado neste post em nosso repositório do Github. A versão mais detalhada obtém três feeds (Mozilla Hacks, Hongkiat e o blog do Webkit) usando um arquivo JSON e também adiciona alguns estilos CSS ao leitor RSS.