Olá, vi que alguns já postaram este erro que seria este aqui:
PHP Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://cursos.alura.com.br/formacao-desenvolvedor-php in C:\Users\Lucas\PhpstormProjects\PHP - Composer\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:211
Stack trace:
#0 C:\Users\Lucas\PhpstormProjects\PHP - Composer\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(158): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
#1 C:\Users\Lucas\PhpstormProjects\PHP - Composer\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(110): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
No entanto cheguei a fazer a alteração no new Client que resolveu em outro tópico e que era o seguinte:
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client(['verify'=>false]);
$resposta = $client->request('GET', 'https://cursos.alura.com.br/formacao-desenvolvedor-php');
$html = $resposta->getBody();
$crawler = new Crawler();
$crawler->addHtmlContent($html);
$cursos = $crawler->filter('span.learning-content__name');
foreach($cursos as $curso){
$curso->textContent . PHP_EOL;
}
Seria aquele $client = new Client(['verify'=>false]);
Mas agora a execução do arquivo simplesmente não está retornando nada! Não sei se está funcionando. Mas no site atual da Alura, na lista de cursos, a classe parece ser learning-content__name mesmo. Se o problema for a classe, então qual eu deveria usar ?
O comando que estou executando é o php buscar-cursos.php