Após executar o código, percebi que nao funcionou meu foreach, logo executei um var_dump() na variável $html que recebe um getBody() da requisição feita pelo Guzzle. Percebi que o elemento capturado não foi a listagem dos cursos e sim a página inicial da Alura, aquela de login. Copiei a URL e joguei em uma página anônima e tomei um redirect novamente para página principal. Como posso prosseguir? Segue abaixo meu código:
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client(['verify' => false]);
$response = $client->request('GET', 'https://cursos.alura.com.br/category/programacao/php');
$html = $response->getBody()->getContents();
$crawler = new Crawler();
$crawler->addHtmlContent($html);
$cursos = $crawler->filter('li.card-list__item');
foreach($cursos as $curso)
{
echo $curso->textContent . PHP_EOL;
}
echo $response->getStatusCode();