problema Crawler.php con visual studio code

  • Autor Autor felipeseo
  • Fecha de inicio Fecha de inicio
F

felipeseo

Curioso
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola, no se si este sea el lugar adecuado para hacer esta pregunta, pero la hago
estoy empezando con visual studio code y quiero hacer un scraping, me encontrado un tutorial muy bueno.
pero no puedo avanzar tal cual lo explican porque me encuentro con errores
por ejemplo

( ! ) InvalidArgumentException: The current node list is empty. in C:\wamp64\www\scraping\vendor\symfony\dom-crawler\Crawler.php on line 572
Fatal error: Uncaught InvalidArgumentException: The current node list is empty. in C:\wamp64\www\scraping\vendor\symfony\dom-crawler\Crawler.php on line 572

 
El mismo error te dice, que el nodelist esta vacio, se ve que no encontró el elemento que le pediste, para que no te tire el error tendrias que validar eso y si el problema es que no te trae nada revisa porque quizas esta mal la url o estas buscando el elemento en algun lugar equivocado.
 
El mismo error te dice, que el nodelist esta vacio, se ve que no encontró el elemento que le pediste, para que no te tire el error tendrias que validar eso y si el problema es que no te trae nada revisa porque quizas esta mal la url o estas buscando el elemento en algun lugar equivocado.
se ve que lo dices con mucha logica, pero no logro entenderlo bien, creeria que lo hice bien por que inspeccione los elementos y puse la url tal cual la necesito probe con dominio principal y de categoria y me dice lo mismo
no se si es permitido pegar aqui lo que intento hacer, para ver si me puedes ayudar
 
se ve que lo dices con mucha logica, pero no logro entenderlo bien, creeria que lo hice bien por que inspeccione los elementos y puse la url tal cual la necesito probe con dominio principal y de categoria y me dice lo mismo
no se si es permitido pegar aqui lo que intento hacer, para ver si me puedes ayudar

Tendrias que ver en el scrapper que te trae, quizas la pagina tenga una validacion por user-agent y te muestre bien si entras en un navegador y con el scrapper sin setearle ninguno te este bloqueando. Deberias fijarte que trae el scrapper y probar enviarle un user-agent y por ahi otros seteos en el header del request HTTP.
 
he cambiado de web para descartar lo que dices porque para mi es indeferente y el mismo error
HTML:
<?php
include "vendor/autoload.php";
use Goutte\Client;

$cr = new Client();

$cr_ = $cr->request("GET","https://www.youshoppit.it/it/29-sciarpe");

$cr_ ->filter("#product-list-wrap .product_list_item")->each(function($node){
    $nombre = $node->filter(".pro_second_box pro_block_align_0 .flex_box flex_start mini_name")->text();
    
    echo $nombre . "<br>";
});
 
le preguntado a IA me lo a solucionado, gracias por el apoyo de todas formas
Insertar CODE, HTML o PHP:
<?php
include "vendor/autoload.php";
use Goutte\Client;

$client = new Client();

$crawler = $client->request("GET","https://www.youshoppit.it/it/29-sciarpe");

$crawler->filter(".product_list_item")->each(function($node){
    $nombre = $node->filter(".mini_name")->text();
    
    echo $nombre . "<br>";
});
 
Atrás
Arriba