PHPackages                             filipebastos0/buscador-cursos-alura - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. filipebastos0/buscador-cursos-alura

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

filipebastos0/buscador-cursos-alura
===================================

Projeto que busca os cursos no site da Alura

v1.1.0(2mo ago)02MITPHP

Since Mar 12Pushed 1mo agoCompare

[ Source](https://github.com/filipebastos0/buscador-cursos-alura)[ Packagist](https://packagist.org/packages/filipebastos0/buscador-cursos-alura)[ RSS](/packages/filipebastos0-buscador-cursos-alura/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (3)Used By (0)

Buscador de Cursos Alura
========================

[](#buscador-de-cursos-alura)

Projeto desenvolvido em **PHP** que realiza a busca e extração de cursos disponíveis no site da **Alura** através de web scraping.

O objetivo deste projeto é praticar conceitos importantes do ecossistema PHP moderno, como:

- Gerenciamento de dependências com **Composer**
- Requisições HTTP utilizando **Guzzle**
- Manipulação e análise de HTML com **Symfony DomCrawler**
- Testes automatizados com **PHPUnit**
- Boas práticas de organização de código

🚀 Funcionalidades
-----------------

[](#-funcionalidades)

- Realiza requisições HTTP para páginas de cursos
- Analisa o HTML retornado
- Extrai os títulos dos cursos encontrados
- Retorna os dados em formato estruturado
- Possibilidade de execução via **linha de comando (CLI)** utilizando o arquivo binário do projeto

🧱 Tecnologias utilizadas
------------------------

[](#-tecnologias-utilizadas)

- PHP
- Composer
- Guzzle HTTP Client
- Symfony DomCrawler
- PHPUnit

📦 Instalação
------------

[](#-instalação)

Clone o repositório:

```
git clone https://github.com/filipebastos0/buscador-cursos-alura.git
```

Acesse a pasta do projeto:

```
cd buscador-cursos-alura
```

Instale as dependências:

```
composer install
```

▶️ Como utilizar
----------------

[](#️-como-utilizar)

### Uso via código PHP

[](#uso-via-código-php)

Exemplo básico de uso:

```
$httpClient = new Client();
$buscador = new BuscadorCursos($httpClient);
$cursos = $buscador->buscar('https://www.alura.com.br/cursos-online-programacao/php');

foreach ($cursos as $curso) {
    echo $curso . PHP_EOL;
}
```

### Uso via terminal (CLI)

[](#uso-via-terminal-cli)

Após instalar as dependências, também é possível executar o buscador diretamente pelo terminal utilizando o arquivo binário do projeto:

```
vendor/bin/buscar-cursos.php.bat
```

O comando irá acessar a página informada e listar no terminal os cursos encontrados.

🎯 Objetivo do projeto
---------------------

[](#-objetivo-do-projeto)

Este projeto foi desenvolvido com fins **educacionais**, para praticar conceitos de:

- Scraping de páginas HTML
- Testes automatizados
- Arquitetura básica de aplicações PHP
- Uso de bibliotecas populares do ecossistema PHP

📄 Licença
---------

[](#-licença)

Este projeto está licenciado sob a licença **MIT**.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance88

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

61d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/374918b2e5ecd2dde76a50ac3cdd8be60a7d919ce85210e5eb0e41b358463c41?d=identicon)[filipebastos0](/maintainers/filipebastos0)

---

Top Contributors

[![filipebastos0](https://avatars.githubusercontent.com/u/84395918?v=4)](https://github.com/filipebastos0 "filipebastos0 (8 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/filipebastos0-buscador-cursos-alura/health.svg)

```
[![Health](https://phpackages.com/badges/filipebastos0-buscador-cursos-alura/health.svg)](https://phpackages.com/packages/filipebastos0-buscador-cursos-alura)
```

###  Alternatives

[spatie/laravel-pjax

A pjax middleware for Laravel 5

513371.8k11](/packages/spatie-laravel-pjax)[ashallendesign/favicon-fetcher

A Laravel package for fetching website's favicons.

190272.4k3](/packages/ashallendesign-favicon-fetcher)[visuellverstehen/statamic-classify

A useful helper to add CSS classes to all HTML tags generated by the bard editor.

20116.8k](/packages/visuellverstehen-statamic-classify)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
