Crawler - Quotes:
O projeto foi construído usando Flask
e Scrapy
como serviços principais.
- Docker ou (Docker & docker-compose)
Entre na pasta raís do projeto e copie o conteudo do .env.example
para um novo arquivo .env
cp .env.example .env
Para buildar o projeto digite o comando abaixo:
docker compose build
Atenção: Se a versão do seu docker instalado não tiver o compose, use o docker-compose
ao invés de docker
docker-compose build
Despois de fazer o build digite o comando abaixo para rodar o projeto:
docker compose up
ou (se não tiver o compose no seu docker cli)
docker-compose up
Feito isso, você pode abrir o seu navegador em http://localhost:8000 e seguir as instruções.
Os testes foram feitos usando a lib pytest
.
Para rodar os testes precisamos acessar o container da aplicação. Faça isso digitando o comando abaixo
docker compose exec flask sh
Agora é só digitar o comando(dentro do container):
pytest
As capturas de telas são salvas em crawler/screenshots
.
Para armanezar os dados, foi utilizado Mongo DB
Para executar o crawler de forma assíncrona, foi utilizado celery junto com redis
como backend e broker. No projeto existe a possibilidade de agendar a execução para 5min, mas isso é facilmente estendível para qualquer momento no futuro, graças ao celery.