Olá, Bruno! Tudo bem?
Pelo que pude analisar no seu código, parece que tudo está correto. No entanto, é importante lembrar que o método var_dump($cursos);
não irá retornar os cursos em si, mas um objeto do tipo Symfony\Component\DomCrawler\Crawler
.
Se você deseja ver os cursos, você precisa iterar sobre o objeto $cursos
, como você já fez no foreach
. No entanto, o var_dump($cursos);
pode estar impedindo a visualização correta dos cursos.
Tente remover a linha var_dump($cursos);
e execute o script novamente. Seu código ficaria assim:
<?php
require 'vendor/autoload.php';
use \GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client();
$response = $client->request('GET', 'https://www.alura.com.br/cursos-online-programacao/php');
$html = $response->getBody();
$crawler = new Crawler($html);
$cursos = $crawler->filter('span.card-curso__nome');
foreach($cursos as $curso)
{
echo $curso->textContent . PHP_EOL;
}
Se mesmo assim você não conseguir ver os cursos, verifique se a página 'https://www.alura.com.br/cursos-online-programacao/php' está acessível e se o seletor 'span.card-curso__nome' ainda é válido. Às vezes, as páginas da web podem ser atualizadas e os seletores podem mudar.
Espero ter ajudado!
Caso tenha dúvidas, fico à disposição.
Abraços e bons estudos!