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(3mo ago)02MITPHP

Since Mar 12Pushed 3mo 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 3w 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

32

—

LowBetter than 69% of packages

Maintenance80

Actively maintained with recent releases

Popularity2

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

106d 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

[craftcms/cms

Craft CMS

3.6k3.6M2.9k](/packages/craftcms-cms)[spatie/crawler

Crawl all internal links found on a website

2.8k17.7M58](/packages/spatie-crawler)[spatie/laravel-export

Create a static site bundle from a Laravel app

672139.5k6](/packages/spatie-laravel-export)[dominikb/composer-license-checker

Utility to check for licenses of dependencies and block/allow them.

574.3M12](/packages/dominikb-composer-license-checker)[blackfire/player

A powerful web crawler and web scraper with Blackfire support

49517.1k](/packages/blackfire-player)[crwlr/crawler

Web crawling and scraping library.

36816.4k2](/packages/crwlr-crawler)

PHPackages © 2026

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