Saltar al contenido

Simple html dom file_get_html no funciona – ¿hay alguna solución?

Benjamín, parte de este gran staff, nos hizo el favor de redactar esta sección ya que domina muy bien dicho tema.

Solución:

Como dije, tu ejemplo funciona bien para mí… Pero prueba de esta manera usando curl en su lugar:

//base url
$base = 'https://play.google.com/store/apps';

$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_URL, $base);
curl_setopt($curl, CURLOPT_REFERER, $base);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$str = curl_exec($curl);
curl_close($curl);

// Create a DOM object
$html_base = new simple_html_dom();
// Load HTML from a string
$html_base->load($str);

//get all category links
foreach($html_base->find('a') as $element) 
    echo "
";
    print_r( $element->href );
    echo "

";

$html_base->clear();
unset($html_base);

Obtiene todos los enlaces como se esperaba:

ingrese la descripción de la imagen aquí

Y asegúrate de tener php_openssl y php_curl instalado…

elimine el punto y coma de php.ini y reinicie el servidor Apache para habilitar la configuración del módulo php

; Windows Extensions
...
;extension=php_openssl.dll
...

Debe configurar “allow_url_fopen” como VERDADERO en “php.ini” para permitir el acceso a archivos a través de HTTP o FTP.
Algunos proveedores de hospedaje deshabilitan el indicador “allow_url_fopen” de PHP por problemas de seguridad.

Al final de todo puedes encontrar las explicaciones de otros administradores, tú además tienes la habilidad mostrar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *