Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Capturar datos de otra web en PHP

Estas en el tema de Capturar datos de otra web en PHP en el foro de PHP en Foros del Web. Hola, Estoy tratando de sacar el precio de un contenido de una pagina web Haciendo lo siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php // ...
  #1 (permalink)  
Antiguo 17/04/2017, 09:01
 
Fecha de Ingreso: agosto-2012
Ubicación: Barcelona
Mensajes: 243
Antigüedad: 11 años, 8 meses
Puntos: 1
Capturar datos de otra web en PHP

Hola,

Estoy tratando de sacar el precio de un contenido de una pagina web Haciendo lo siguiente:

Código PHP:
Ver original
  1. <?php
  2. // Eextraer datos de otra web
  3.  
  4.  
  5. $data = file_get_contents("https://www.amazon.es/gp/product/B01B5UZ4TA/ref=s9_acsd_top_hd_bw_b10znjj_c_x_w?pf_rd_m=A1AT7YVPFBWXBL&pf_rd_s=merchandised-search-4&pf_rd_r=295NQKWRW75FM1RD2Y1F&pf_rd_t=101&pf_rd_p=bbe6f90a-7a26-5823-a695-35d36e0f2cee&pf_rd_i=930862031");
  6.  
  7.  
  8.  
  9.  
  10.  
  11. if ( preg_match('|<td class="a-span12"></td>\s+<span id="priceblock_ourprice" class="a-size-medium a-color-price"><b>(.*?)</b></span>|is' , $data , $cap ) )
  12. {
  13.     echo "EUR ".$cap[1];
  14. }
  15.  
  16.  
  17. <?php



Pero no me funciona.
Si alguien me puede hechar una mano se lo agradecería.

Saludos
  #2 (permalink)  
Antiguo 17/04/2017, 11:47
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Capturar datos de otra web en PHP

No se si es una forma efectiva, bueno una solución rápida al problema sería, instanciar un objeto domdocument, parsear el html, buscar el contenedor con el id en cuestión y obtener el valor del nodo, en simples palabras:

Código PHP:
Ver original
  1. function getHTMLNodeId($file, $id){
  2. $dom = new DomDocument;
  3. $html = @$dom->loadHTMLfile($file);
  4.     if($html == false){ return false; }
  5. return $dom->getElementById($id)->nodeValue;   
  6. }

retornos: el valor del nodo, o falso en caso de error.

entonces:

Código PHP:
Ver original
  1. $precio = getHTMLNodeId("https://www.amazon.es/gp/product/B01B5UZ4TA/ref=s9_acsd_top_hd_bw_b10znjj_c_x_w?pf_rd_m=A1AT7YVPFBWXBL&pf_rd_s=merchandised-search-4&pf_rd_r=295NQKWRW75FM1RD2Y1F&pf_rd_t=101&pf_rd_p=bbe6f90a-7a26-5823-a695-35d36e0f2cee&pf_rd_i=930862031", "priceblock_ourprice");

Eso por mi parte.
  #3 (permalink)  
Antiguo 17/04/2017, 12:29
 
Fecha de Ingreso: agosto-2012
Ubicación: Barcelona
Mensajes: 243
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Capturar datos de otra web en PHP

Muchas Gracias Alvaro,

Solucionado

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:13.