Hand

Ontem, enquanto gravava um DVD, comecei a generalizar os scripts que geram os feeds do post anterior. E disso surgiu o Hand, um gerador de feeds RSS.

Como funciona?

O meu objetivo inicial era gerar feeds para sites que não os disponibilizavam, recorrendo ao bom e velho screen scraping. Comecei fazendo o feed dos quadrinhos da Folha, o mais complicado, pois era necessário fazer autenticação de usuário e percorrer várias páginas para extrair links. Ao fazer o dos Malvados, segui a mesma estrutura de funções, e comecei a perceber que dava para generalizar bastante o processo.

Eis que surge Hand. No fundo é uma classe que implementa alguns métodos (build_date, generate_description, build_feed, process), e exige que você derive a classe e implemente o método generate_data. generate_data é um método que retorna uma lista de dicionários, com cada dicionário contendo os campos title, page_link, description, pubDate e guid correspondentes a um item do feed. Simples assim.

E funciona?

Yep. Mantenho quatro feeds no momento:

Onde posso ver esta maravilha?

O código está disponível no Github, mas ainda está bem cru, preciso empacotá-lo direito.

Quais os próximos passos?

O feed da Folha demora para ser gerado, porque toda vez que o script é rodado ele precisa consultar todas as páginas. Portanto penso em adicionar persistência, mas bem simples, um sqlite é mais que suficiente.

Além disso, quero descrever a configuração do feed (onde gerá-lo, qual template usar) num arquivo, e fazer a classe base ler essas opções. Assim fica ainda mais fácil fazer um novo feed.

Que nominho, hein?

Para quem não entendeu o nome: qual um bom para um gerador de feeds? Enquanto pensava, lembrei de uma música do NIN chamada ‘The Hand That Feeds’. E, além disso, ele também te dá uma mão para gerar feeds, certo? *TU-DUM-TISH*!

Anúncios

2 Responses to “Hand”


  1. 1 vizinha fevereiro 12, 2009 às 7:51 am

    coisa mais sem graça…..

  2. 2 baba fevereiro 20, 2009 às 11:29 am

    que nada, moh legal!
    ainda tinha o googletalk do cardápio do RU!


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s





%d blogueiros gostam disto: