comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Ayuda programando un spider.

  • 5 Respuestas
  • 1157 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ToracosLabs

  • *
  • Underc0der
  • Mensajes: 6
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Enero 05, 2016, 10:41:21 am »
 Saludos, estoy programando un script en php para poder extraer todos los libros de la web No tienes permisos para ver links. Registrate o Entra con tu cuenta.

 como los permalinks tienen los nombres de las entradas:

No tienes permisos para ver links. Registrate o Entra con tu cuenta

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

No tienes permisos para ver links. Registrate o Entra con tu 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!
« Última modificación: Enero 05, 2016, 01:10:45 pm por blackdrake »

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1914
  • Actividad:
    1.67%
  • Reputación 15
    • Ver Perfil
« Respuesta #1 en: Enero 05, 2016, 12:32:54 pm »
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
  1. <?php
  2. //Script adaptado para recoger información de todos los libros de casadellibro.com.
  3. //By blackdrake
  4.  
  5. //Id del libro
  6. $id = "2193770";
  7.  
  8. //Recogemos los datos de ese libro
  9. $datos = recoger_web('http://www.casadellibro.com/libro-el-ultimo-caton/9788408083450/'.$id);      
  10.  
  11. //Mostramos la pagina
  12. echo $datos;
  13.  
  14.  
  15. //Obtenemos los datos de la web
  16.  
  17. function recoger_web($url) {
  18.     $c = No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  19.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_URL, $url);
  20.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_RETURNTRANSFER, 1);
  21.         No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_SSL_VERIFYHOST, false);
  22.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_SSL_VERIFYPEER, false);
  23.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0");
  24.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_MAXREDIRS, 10);
  25.     $follow_allowed = ( No tienes permisos para ver links. Registrate o Entra con tu cuenta('open_basedir') || No tienes permisos para ver links. Registrate o Entra con tu cuenta('safe_mode')) ? false : true;
  26.    
  27.         if ($follow_allowed) {
  28.         No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_FOLLOWLOCATION, 1);
  29.     }
  30.         No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_CONNECTTIMEOUT, 9);
  31.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_REFERER, $url);
  32.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_TIMEOUT, 60);
  33.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_AUTOREFERER, true);
  34.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_ENCODING, 'gzip,deflate');
  35.        
  36.     $data = No tienes permisos para ver links. Registrate o Entra con tu cuenta($c);
  37.     $status = No tienes permisos para ver links. Registrate o Entra con tu cuenta($c);
  38.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c);
  39.        
  40.     if ($status['http_code'] == 200) {
  41.         return $data;
  42.     }
  43.        
  44.         elseif ($status['http_code'] == 301 || $status['http_code'] == 302) {
  45.         if (!$follow_allowed) {
  46.             if (No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  47.                 if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($status['redirect_url'])) {
  48.                     $redirURL = $status['redirect_url'];
  49.                 }
  50.             } if (No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  51.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta('/(Location:|URI:)(.*?)(\r|\n)/si', $data, $m);
  52.                 if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($m[2])) {
  53.                     $redirURL = $m[2];
  54.                 }
  55.             } if (No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  56.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta('/href\=\"(.*?)\"(.*?)here\<\/a\>/si', $data, $m);
  57.                 if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($m[1])) {
  58.                     $redirURL = $m[1];
  59.                 }
  60.             } if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  61.                 $t = No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  62.                 return No tienes permisos para ver links. Registrate o Entra con tu cuenta($t[0]["function"], No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL), $post_paramtrs);
  63.             }
  64.         }
  65.     }
  66.         return "Error en la url: $url!!<br/><br/> Petición enviada<b/>:<br/>" . No tienes permisos para ver links. Registrate o Entra con tu cuenta($status) . "<br/><br/>Web capturada (con el error):$data";
  67. }
  68.  

Saludos

« Última modificación: Enero 05, 2016, 12:35:52 pm por blackdrake »



Desconectado ToracosLabs

  • *
  • Underc0der
  • Mensajes: 6
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Enero 05, 2016, 12:36:01 pm »
No tienes permisos para ver links. Registrate o Entra con tu 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
  1. <?php
  2. //Script adaptado para recoger información de todos los libros de casadellibro.com.
  3. //By blackdrake
  4.  
  5. //Id del libro
  6. $id = "2193770";
  7.  
  8. //Recogemos los datos de ese libro
  9. $datos = recoger_web('http://www.casadellibro.com/libro-el-ultimo-caton/9788408083450/'.$id);      
  10.  
  11. //Mostramos la pagina
  12. echo $datos;
  13.  
  14.  
  15. //Obtenemos los datos de la web
  16.  
  17. function recoger_web($url) {
  18.     $c = No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  19.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_URL, $url);
  20.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_RETURNTRANSFER, 1);
  21.         No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_SSL_VERIFYHOST, false);
  22.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_SSL_VERIFYPEER, false);
  23.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0");
  24.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_MAXREDIRS, 10);
  25.     $follow_allowed = ( No tienes permisos para ver links. Registrate o Entra con tu cuenta('open_basedir') || No tienes permisos para ver links. Registrate o Entra con tu cuenta('safe_mode')) ? false : true;
  26.    
  27.         if ($follow_allowed) {
  28.         No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_FOLLOWLOCATION, 1);
  29.     }
  30.         No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_CONNECTTIMEOUT, 9);
  31.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_REFERER, $url);
  32.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_TIMEOUT, 60);
  33.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_AUTOREFERER, true);
  34.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c, CURLOPT_ENCODING, 'gzip,deflate');
  35.        
  36.     $data = No tienes permisos para ver links. Registrate o Entra con tu cuenta($c);
  37.     $status = No tienes permisos para ver links. Registrate o Entra con tu cuenta($c);
  38.     No tienes permisos para ver links. Registrate o Entra con tu cuenta($c);
  39.        
  40.     if ($status['http_code'] == 200) {
  41.         return $data;
  42.     }
  43.        
  44.         elseif ($status['http_code'] == 301 || $status['http_code'] == 302) {
  45.         if (!$follow_allowed) {
  46.             if (No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  47.                 if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($status['redirect_url'])) {
  48.                     $redirURL = $status['redirect_url'];
  49.                 }
  50.             } if (No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  51.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta('/(Location:|URI:)(.*?)(\r|\n)/si', $data, $m);
  52.                 if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($m[2])) {
  53.                     $redirURL = $m[2];
  54.                 }
  55.             } if (No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  56.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta('/href\=\"(.*?)\"(.*?)here\<\/a\>/si', $data, $m);
  57.                 if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($m[1])) {
  58.                     $redirURL = $m[1];
  59.                 }
  60.             } if (!No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL)) {
  61.                 $t = No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  62.                 return No tienes permisos para ver links. Registrate o Entra con tu cuenta($t[0]["function"], No tienes permisos para ver links. Registrate o Entra con tu cuenta($redirURL), $post_paramtrs);
  63.             }
  64.         }
  65.     }
  66.         return "Error en la url: $url!!<br/><br/> Petición enviada<b/>:<br/>" . No tienes permisos para ver links. Registrate o Entra con tu cuenta($status) . "<br/><br/>Web capturada (con el error):$data";
  67. }
  68.  

Saludos

le voy a echar un vistazo. Muchas gracias máquina, te debo una!  ;D
« Última modificación: Enero 05, 2016, 12:36:49 pm por blackdrake »

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1914
  • Actividad:
    1.67%
  • Reputación 15
    • Ver Perfil
« Respuesta #3 en: Enero 05, 2016, 12:37:11 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
le voy a echar un vistazo. Muchas gracias máquina, te debo una!  ;D

Avisa si te funciona :D

Saludos.
« Última modificación: Enero 05, 2016, 12:39:48 pm por blackdrake »



Desconectado ToracosLabs

  • *
  • Underc0der
  • Mensajes: 6
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Enero 05, 2016, 01:05:28 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu 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)

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1914
  • Actividad:
    1.67%
  • Reputación 15
    • Ver Perfil
« Respuesta #5 en: Enero 05, 2016, 01:10:31 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu 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)

Perfecto, doy el tema como solucionado, cualquier cosa, vuelves a postear :D

Saludos.



 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 7698
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2235
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1644
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 3012
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Problem al instalar Windows "cualquier windows"

Iniciado por Made

Respuestas: 7
Vistas: 3039
Último mensaje Septiembre 03, 2012, 04:53:08 pm
por Made