problema Crawler.php com visual studio code

  • Autor Autor felipeseo
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
F

felipeseo

Curioso
Usuário com poucas negociações! Use sempre o saldo do 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​

 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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
Inserir CODE, HTML ou 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>";
});
 
Voltar
Topo