Skip to main content

Biblioteca para extração de dados em documentos

Project description

Biblioteca para extração de dados em documentos semi-estruturados.

A definição dos extratores é feita através de classes como modelos, de forma semelhante ao ORM do Django. Cada extrator procura por um padrão especificado por expressão regular, e a conversão para tipos primitidos é feita automaticamente a partir dos grupos capturados.

O analisador é implementado como um gerador, onde cada item encontrado pode ser consumido antes do final da análise, caracterizando uma pipeline.

A análise é foward-only, o que o torna extremamente rápido, e deste modo qualquer iterador que retorne uma string pode ser analisado, incluindo streams infinitos.

Com uma base sólida e enxuta, é fácil construir seus próprios extratores.

Além da utilidade da ferramenta, o raspador é um exemplo prático e simples da utilização de conceitos e recursos como iteradores, geradores, meta-programação e property-descriptors.

Compatibilidade e dependências

O raspador é compatível com Python 2 e 3, testado em Python2.7.5 e Python3.2.3.

Não há dependências externas.

Testes

Os testes dependem de algumas bibliotecas externas:

coverage==3.6
nose==1.3.0
flake8==2.0
invoke==0.5.0

Você pode executar os testes com nosetests:

$ nosetests

E adicionalmente, verificar a compatibilidade com o PEP8:

$ flake8 raspador testes

Ou por conveniência, executar os dois em sequência com invoke:

$ invoke test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raspador-0.1.2.tar.gz (7.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page