Segue meu arquivo principal buscar-cursos.php
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client();
$resposta = $client->request('GET','https://www.alura.com.br/cursos-online-programacao/php');
$html = $resposta->getBody();
$crawler = new Crawler();
$crawler->addHtmlContent($html);
$cursos =$crawler->filter('span.card-curso__nome');
foreach($cursos as $curso){
echo $curso->textContent. PHP_EOL;
}
Segue arquivo json:
{
"name": "phpcaseiro/buscador-cursos",
"description": "Buscador que busca os cursos no site da Alura",
"type": "library",
"authors": [
{
"name": "Anderson Santos",
"email": "anderson.santos.silva@live.com"
}
],
"require": {
"guzzlehttp/guzzle": "^6.5",
"symfony/dom-crawler":"^4.2",
"symfony/css-selector": "^4.4"
}
}
Segue erro na saída do Terminal:
PS C:\xampp\htdocs\alura\composer\buscador-curso-alura> php buscar-cursos.php
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) in C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:201
Stack trace:
#0 C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(155): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
#1 C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(105): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
#2 C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), in C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 201
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) in C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:201
Stack trace:
#0 C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(155): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
#1 C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(105): GuzzleHttp\Handler\CurlFactory#2 C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), in C:\xampp\htdocs\alura\composer\buscador-curso-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 201
PS C:\xampp\htdocs\alura\composer\buscador-curso-alura> php buscar-cursos.php{
>> "name": "phpcaseiro/buscador-cursos",
>> "description": "Buscador que busca os cursos no site da Alura",
>> "type": "library",
>> "authors": [
>> {
>> "name": "Anderson Santos",
>> "email": "anderson.santos.silva@live.com"
>> }
>> ],
>> "require": {
>> "guzzlehttp/guzzle": "^6.5",
>> "symfony/dom-crawler":"^4.2",
>> "symfony/css-selector": "^4.4"
>> }
>> }
No linha:2 caractere:11
+ "name": "phpcaseiro/buscador-cursos",
+ ~
Token ':' inesperado na expressão ou instrução.
No linha:7 caractere:19
+ "name": "Anderson Santos",
+ ~
Token ':' inesperado na expressão ou instrução.
No linha:10 caractere:6
+ ],
+ ~
Argumento ausente na lista de parâmetros.
No linha:12 caractere:28
+ "guzzlehttp/guzzle": "^6.5",
+ ~
Token ':' inesperado na expressão ou instrução.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordExceptionRecordException
+ FullyQualifiedErrorId : UnexpectedToken