Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ToracosLabs

#1
Gracias por la respuesta, pero creo que me has entendido mal, yo no quiero descargar los cursos, simplemente deseo extraer todos los títulos de lo cursos de la web y como los permalinks están en funcion del nombre y no de una id, hay que ir uno por uno scrapeando. El problema reside en que no se me carga con cUrl el contenido de la derecha al ser javascript.

Saludos y espero respuestas!
#2
Dudas y pedidos generales / Ayuda con un web spider
Julio 16, 2016, 11:50:50 AM
 Saludos amigos programadores, otra vez acudo al foro en busca de vuestra ayuda:

En esta ocasión estoy diseñando un web spider para extraer información de esta página: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

El problema es que al extraer con php mediante cUrl no se me carga el contenido de "Los estudiantes que vieron este curso también vieron..." que es lo que me interesa. En su lugar aparece "loading...".

¿Hay alguna manera de cargar ese contenido?, ¿o cUrl no puede extraerlo debido a que es javascript?

Gracias y espero respuestas!!!! ;)
#3
 Saludos, me encuentro centrado en la creación de contenido automático en wordpress. Actualmente utilizo la librería cUrl y preg_match en php y lo llamo a dicha función desde un programa escrito en java. Funciona correctamente, pero va demasiado lento, me gustaría acelerar el proceso.

Os pongo un ejemplo:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

A partir de este link me gustaría extraer el nombre de todos los cursos, moviéndome a través de la sección: Los estudiantes que vieron este curso también vieron.

Me gustaría saber con que programa lo haríais para que fuera eficiente, y que material (libros, cursos, documentación...) debo mirar para utilizarlo.

Estoy a la espera de respuestas, gracias!
#4
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
le voy a echar un vistazo. Muchas gracias máquina, te debo una!  ;D

Avisa si te funciona :D

Saludos.

Perfectamente, ahora un for y para la base de datos!  8)
#5
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Es bastante raro lo que te ocurre, probé también con un simple script en curl y tampoco funciona, pero por suerte, después de mucho intentarlo, pude hacerlo funcionar :D

Código: php
<?php
//Script adaptado para recoger información de todos los libros de casadellibro.com.
//By blackdrake

//Id del libro
$id = "2193770";

//Recogemos los datos de ese libro
$datos = recoger_web('http://www.casadellibro.com/libro-el-ultimo-caton/9788408083450/'.$id);     

//Mostramos la pagina
echo $datos;


//Obtenemos los datos de la web

function recoger_web($url) {
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, $url);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0");
    curl_setopt($c, CURLOPT_MAXREDIRS, 10);
    $follow_allowed = ( ini_get('open_basedir') || ini_get('safe_mode')) ? false : true;
   
if ($follow_allowed) {
        curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
    }
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 9);
    curl_setopt($c, CURLOPT_REFERER, $url);
    curl_setopt($c, CURLOPT_TIMEOUT, 60);
    curl_setopt($c, CURLOPT_AUTOREFERER, true);
    curl_setopt($c, CURLOPT_ENCODING, 'gzip,deflate');

    $data = curl_exec($c);
    $status = curl_getinfo($c);
    curl_close($c);
   
    if ($status['http_code'] == 200) {
        return $data;
    }

elseif ($status['http_code'] == 301 || $status['http_code'] == 302) {
        if (!$follow_allowed) {
            if (empty($redirURL)) {
                if (!empty($status['redirect_url'])) {
                    $redirURL = $status['redirect_url'];
                }
            } if (empty($redirURL)) {
                preg_match('/(Location:|URI:)(.*?)(\r|\n)/si', $data, $m);
                if (!empty($m[2])) {
                    $redirURL = $m[2];
                }
            } if (empty($redirURL)) {
                preg_match('/href\=\"(.*?)\"(.*?)here\<\/a\>/si', $data, $m);
                if (!empty($m[1])) {
                    $redirURL = $m[1];
                }
            } if (!empty($redirURL)) {
                $t = debug_backtrace();
                return call_user_func($t[0]["function"], trim($redirURL), $post_paramtrs);
            }
        }
    }
return "Error en la url: $url!!<br/><br/> Petición enviada<b/>:<br/>" . json_encode($status) . "<br/><br/>Web capturada (con el error):$data";
}


Saludos

le voy a echar un vistazo. Muchas gracias máquina, te debo una!  ;D
#6
 Saludos, estoy programando un script en php para poder extraer todos los libros de la web No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

como los permalinks tienen los nombres de las entradas:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

se me ha ocurrido cambiar el ultimo número que es el ID del libro, ej:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

en el navegador funciona pero a la hora de hacer un file_get_contents() no funciona.

Por favor necesito ayuda. Gracias y disculpen las molestias!