Não estou conseguindo entender o que está errado no meu código:
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client(['verify'=>false]);
$resposta = $client->request('GET', 'https://www.alura.com.br/cursos-online-programacao/php');
$html = $resposta->getBody();
$crawler = New Crawler($html);
$cursos = $crawler->filter('span.card-curso__nome');
foreach ($cursos as $curso ) {
echo $curso->textContent . PHP_EOL;
}
Tenho tido 2 tipos de erros. Um é na linha
$cursos = $crawler->filter('span.card-curso__nome');
aonde parece que o argumento que estou usando não é válido. Está dando a seguinte mensagem: "Expected parameter of type 'Symfony\Component\DomCrawler\string', 'string' provided".
O segundo erro é durante a execução, o erro que aparece é o seguinte:
C:\Users\mfari\Downloads\COMPUTAÇÃO\PHP\php-8.0.6-nts-Win32-vs16-x64\php.exe "C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\Explorando-sites.php" PHP Fatal error: Uncaught InvalidArgumentException: Expecting a DOMNodeList or DOMNode instance, an array, a string, or null, but got "GuzzleHttp\Psr7\Stream". in C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\vendor\symfony\dom-crawler\Crawler.php:132 Stack trace:
#0 C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\vendor\symfony\dom-crawler\Crawler.php(78): Symfony\Component\DomCrawler\Crawler->add(Object(GuzzleHttp\Psr7\Stream))
#1 C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\Explorando-sites.php(18): Symfony\Component\DomCrawler\Crawler->__construct(Object(GuzzleHttp\Psr7\Stream))
#2 {main} thrown in C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\vendor\symfony\dom-crawler\Crawler.php on line 132
Fatal error: Uncaught InvalidArgumentException: Expecting a DOMNodeList or DOMNode instance, an array, a string, or null, but got "GuzzleHttp\Psr7\Stream". in C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\vendor\symfony\dom-crawler\Crawler.php:132 Stack trace:
#0 C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\vendor\symfony\dom-crawler\Crawler.php(78): Symfony\Component\DomCrawler\Crawler->add(Object(GuzzleHttp\Psr7\Stream))
#1 C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\Explorando-sites.php(18): Symfony\Component\DomCrawler\Crawler->__construct(Object(GuzzleHttp\Psr7\Stream))
#2 {main} thrown in C:\Users\mfari\Desktop\ESTUDOS\PHP\PHP - PROJETOS\vendor\symfony\dom-crawler\Crawler.php on line 132
Process finished with exit code 255