Essa é uma prova de conceito para um sistema de raspagem e estruturação de dados sobre crianças desaparecidas no Brasil. O Fio de Ariadne tem como requisitos técnicos Python 3.7+ e Poetry.
$ poetry install
Para utilizar as dependências, você precisa entrar no virtualenv que o Poetry criou:
$ poetry shell
Use exit
para sair do virtualenv quando desejar.
Execute esse comando e siga as instruções:
$ createnv
Esses comandos só precisam ser executados uma única vez. Eles criam a estrutura do banco de dados, raspam os dados e salvam tudo nesse banco:
$ python manage.py migrate
$ python manage.py crawl
Você pode ainda criar um usuário para acessar o painel de controle:
$ python manage.py createsuperuser
Utilize esse comando e depois acesse localhost:8000
:
$ python manage.py runserver
Não é necessária nenhuma configuração para rodar o Fio de Ariadne em modo de desenvolvimento.
Esses comandos só precisam ser executados uma única vez (como explicado anteriormente).
$ docker-compose run --rm web python manage.py migrate
$ docker-compose run --rm web python manage.py crawl
$ docker-compose run --rm web python manage.py createsuperuser
Para inicar a aplicação web em 0.0.0.0:8000
, utilize:
$ docker-compose up
GET /api/kid
Lista as crianças do nosso banco de dados.
Aceita como parâmetro de busca (busca exata) parâmetros de URL com os nomes dos campos do modelo web.core.models.Kid
.
GET /api/kid?eyes=Pretos&hair=Castanho escuro
lista apenas as crianças:
eyes
tenha o valor exato (case-sensitive, inclusive) "Pretos"
hair
tenha o valor exato (case-sensitive, inclsuive) "Castanho escuro"
Você pode contribuir com melhorias no código e utilizar algumas verificações de qualidade:
$ mypy crawler
$ pytest