• Publicidad

Ayuda con Wget

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Ayuda con Wget

Notapor josmanf » 2005-06-07 15:02 @668

¿Cómo podría detectar enlaces rotos con Wget en Perl? :oops: :oops: :oops:
josmanf
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2005-06-07 15:00 @667
Ubicación: Madrid

Publicidad

Notapor kidd » 2005-06-07 15:50 @701

Hola:

Te recomiendo que cheques el módulo LWP:
http://search.cpan.org/~gaas/libwww-per ... lib/LWP.pm

Mira el siguiente código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2.  
  3. use strict;
  4. use LWP::UserAgent;
  5.  
  6. my $ua = LWP::UserAgent->new;
  7. $ua->agent("Agente Buscador/0.1 ");
  8.  
  9. my $req = HTTP::Request->new(GET => 'http://perlenespanol.com/');
  10. my $res = $ua->request($req);
  11.  
  12. if ($res->is_success) {
  13.     print $res->content;
  14. }
  15. else {
  16.     print $res->status_line, "\n";
  17. }
  18.  
  19. exit(1);
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Lo que hace es checar un determinado URL, si el URL es correcto entonces despliega la página, de lo contrario despliega el código de error que regresa la página (404 Not Found, 501 Server Error, etc., etc.). Me parece que algo así estás buscando.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor Perl user » 2005-06-08 12:39 @569

Bueno, la solución es factible, funciona, aunque en el if se vería mejor un unless y te evitas el else. En fin, mi solución es la siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use LWP::Simple;
  2. use Carp;
  3.  
  4. croak( "Url no existe o contenido inalcanzable" )
  5.     unless is_success( get_print( "http://www.google.com" ) );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pequeña, simple, funcional y "cool looking" :)

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor kidd » 2005-06-08 14:30 @646

No hay duda de que en Perl TODO se puede hacer más sencillo... muy buena respuesta :wink:


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Ayuda con Wet spider

Notapor josmanf » 2005-06-08 15:48 @700

Se trata de realizar un pequeño script que, utilizando Wget y SPIDER me encuentre los enlaces no válidos en mi bookmarks.html.
Casi lo tengo pero no consigo que me funcione bien.
:oops: :oops: :oops: :oops:
josmanf
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2005-06-07 15:00 @667
Ubicación: Madrid

Re: Ayuda con wget spider

Notapor Perl user » 2005-06-08 19:55 @871

¡Ah!, entonces tu problema se solucionará cuando leas el man de wget y leas sobre el calificador --spider.

Código: Seleccionar todo
wget --spider --force-html -i bookmars.html


Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados