athena272/php-course-search-engine

Project that fetches courses from the Alura website

dev-main 2025-05-18 11:15 UTC

This package is auto-updated.

Last update: 2025-05-18 11:15:44 UTC


README

Latest Stable Version License

Biblioteca PHP para buscar cursos automaticamente no site da Alura, usando scraping com Guzzle e Symfony DomCrawler.

Instalação

Via Composer:

composer require athena272/php-course-search-engine

Exemplo de uso

require 'vendor/autoload.php';

use Athena272\CourseSearchEngine\Models\CourseFetcher;
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;

$client = new Client([
    'verify' => false,
    'base_uri' => 'https://www.alura.com.br/'
]);
$crawler = new Crawler();

$fetcher = new CourseFetcher($client, $crawler);

try {
    $courses = $fetcher->getCourses('/cursos-online-programacao/php');
    foreach ($courses as $course) {
        echo $course . PHP_EOL;
    }
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    echo 'Error: ' . $e->getMessage();
}

Testes

composer install
composer test

Dependências

  • guzzlehttp/guzzle
  • symfony/dom-crawler
  • symfony/css-selector