Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2008, 16:11
Avatar de carlillos
carlillos
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 9 meses
Puntos: 21
WWW::Mechanize:

Hola:

No se nada sobre Perl, pero me llamó la atención la página imagenesparahi5.org la cual sube imágenes a imageshack.us, pero resuelve extrayéndole los links y poniéndole los de imagenesparahi5.org. Lo cual le ha generado bastante tráfico por lo que puedo ver en Alexa, y lo único que hace es una especie de "leeching".

Si no me equivoco, está usando el módulo WWW::Mechanize: para hacer esto, y buscando por ahí encontré esto:

Código HTML:
#!/usr/bin/perl -w

use strict;

use WWW::Mechanize;



#Create an Object

my $mech = WWW::Mechanize->new();





foreach my $number ("0" .. "100") {

#Url to search images on.

my $url = "http://img301.imageshack.us/my.php?image=$number.jpg";



#Request webpage

$mech->get( $url );



#Search for links containing .jpg or .jpeg extensions

#in the url.

#Everything in between qr/ / is what to search for

#The . means any character usually but we use \ to escape it

# and make it literal. Then we did (jpe?g) which means to search for

#the text jpg or jpeg.

# The $ character means the end of the line/string.

# The i at the end means make everything case insensitive

 

my $link;

if ($link = $mech->find_link(tag => "a", url_regex => qr/\.(jpe?g)$/i)) {

    $mech->get($link);



    my $lurl = $link->url;

   

    #Take done.php?l=img301 out of the URL and replace with img301/

    $lurl =~ s/done\.php\?l\=img301\//img301\//;

   

    #Save image to file

    $mech->get( $lurl, ":content_file" => "$number.jpg");

}

else {

    print "Image $number.jpg not found\n";

   }

}
Para mí esto está como en chino, y no entiendo nada, ¿alguien me puede decir si estoy en lo cierto?

Saludos.