athena272 / php-course-search-engine
Project that fetches courses from the Alura website
dev-main
2025-05-18 11:15 UTC
Requires
- guzzlehttp/guzzle: ^7.9
- symfony/css-selector: ^7.2
- symfony/dom-crawler: ^7.2
Requires (Dev)
- phan/phan: ^5.4
- phpunit/phpunit: ^12.1
- squizlabs/php_codesniffer: ^3.13
This package is auto-updated.
Last update: 2025-05-18 11:15:44 UTC
README
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