Este é um serviço de web crawler que permite buscar URLs que contenham palavras-chave específicas, começando a partir de uma URL base.
- Crawling assíncrono de páginas web
- Busca por palavras-chave em páginas HTML
- API REST para iniciar buscas e verificar resultados
- Limitação de busca ao domínio da URL base
- Java 14
- Maven
- Spark Framework
- Docker
- JUnit 5 para testes
POST /crawl
Content-Type: application/json
{
"keyword": "palavra-chave"
}GET /crawl/{id}- Construa a imagem Docker:
docker build -t web-crawler .- Execute o container:
docker run -p 4567:4567 -e BASE_URL=https://sua-url-base.com web-crawler- Compile o projeto:
mvn clean package- Execute a aplicação:
mvn exec:java -DBASE_URL=https://sua-url-base.comPara executar os testes:
mvn testBASE_URL: URL base para iniciar o crawling (obrigatória)
- O crawler só busca URLs dentro do mesmo domínio da URL base
- A palavra-chave deve ter entre 4 e 32 caracteres
- Apenas páginas HTML são processadas
src/
├── main/
│ └── java/
│ └── com/
│ └── axreng/
│ └── backend/
│ ├── controller/
│ ├── model/
│ └── util/
└── test/
└── java/
{
"id": "abc123",
"error": false
}{
"id": "abc123",
"status": "active|done",
"urls": ["http://..."],
"error": false
}- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -am 'feat: adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Crie um Pull Request
Este projeto está sob a licença MIT.