Python: RSS e Atom

Autor: @britodfbr

Escopo

  • GNU Linux
  • Python 3
  • Feedparser

Introdução

O Python como costuma-se disser já vem com baterias incluidas. E a funcionalidade para trabalho com Rich Site Summary (RSS) e Atom não é diferente.

Neste tutorial irei abordar o pacote Feedparser. No caso as baterias para esta tarefa!

O que é RSS

RSS significa Rich Site Summary e usa formatos de feed de internet padrão para publicar Informações atualizadas com freqüência: entradas de blog, manchetes de notícias, áudio, vídeo.

Um documento RSS (chamado "feed", "web feed" ou "channel") inclui Texto resumido e metadados, como data de publicação, link de acesso ao conteúdo e nome do autor.

O leitor de RSS verifica os feeds regularmente para obter novas informações e pode baixá-lo automaticamente, se essa função estiver ativada. O leitor também fornece uma interface de usuário, que o caso dos navegadores modernos.

Exemplo de RSS

Comparação entre RSS e Atom

RSS 2.0 Atom 1.0
author author*
category category
channel feed
copyright rights
- subtitle
description* summary and/or content
generator generator
guid id*
image logo
item entry
lastBuildDate (in channel) updated*
link* link*
managingEditor author or contributor
pubDate published (subelement of entry)
title* title*
ttl -

O que é Feedparser

O Feedparser é uma biblioteca Python que analisa os feeds em todos os formatos conhecidos, incluindo Atom, RSS e RDF. Ele é executado no Python 2.4 ou superior.

Criar Ambiente Virtual

$ easy_install virtualenv
$ virtualenv -p python3 ~/py3
$ source ~/py3/bin/activate
(py35)$ pip install feedparser
(py35)$ pip install pprint

Como os comandos acima, foram realizadas as seguintes tarefas:

  1. instalado o virtualenv
  2. cria o ambiente virtual python3
  3. ativa o python3 do ambiente virtual
  4. instala o pacote feedparser no ambiente virtual. Responsável por manipular os feeds xml.
  5. instala o pacote pprint no ambiente virtual. Responsável por uma apresentação amigável.

Exemplo de Uso

Para este exemplo poderia ser utilizado qualquer feed RSS ou Atom, inclusive o deste blog que esta disponível em http://brito.blog.incolume.com.br/feeds/posts/default, mas o exemplo será com a revista digital "Inovação tecnológica" disponível em http://www.inovacaotecnologica.com.br/boletim/rss.xml.

Código Python de Exemplos

Programação estruturada

Programação Orientada a Objeto

Referências

http://www.pythonforbeginners.com/feedparser/using-feedparser-in-python

https://en.wikipedia.org/wiki/RSS

https://en.wikipedia.org/wiki/Atom_(standard)

Comentários