Perl: Realizar una solicitud a una página web y descargarla
Perl: Realizar una solicitud a una página web y descargarla
Para hacerlo en Perl, se utilizan los módulos LWP::UserAgent y HTTP::Request.
A continuación un ejemplo resumido con una función que visita una página web y la guarda en un archivo de texto.
Este ejemplo, se probado utilizando un servidor Apache en la misma máquina.
En la línea
Se ha configurado la cadena correspondiente a un agente Firefox, esta cadena puede dejarse vacia o colocar una frase identificatoria para nuestro programa.
Se puede acceder a un listado de las cadenas o firmas que realizan los distintos tipos de navegadores en
-->http://www.user-agents.org/Este ejemplo, se probado utilizando un servidor Apache en la misma máquina.
En la línea
$ua->agent("Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20100101 Firefox/16.0"); se
Se ha configurado la cadena correspondiente a un agente Firefox, esta cadena puede dejarse vacia o colocar una frase identificatoria para nuestro programa.
Se puede acceder a un listado de las cadenas o firmas que realizan los distintos tipos de navegadores en
------------------------------ CORTAR AQUI ------------------------------
#!/usr/bin/perl -w
#######################################################
#Realizar una solicitud a una direccion web
#Recibir la respuesta y guardar en archivo
#######################################################
use strict;
use LWP::UserAgent;
use HTTP::Request;
my $urlP="http://127.0.0.1";
my $pathP="temporal.txt";
solicitarPagina($urlP,$pathP);
######################################################
# Trae la pagina y la guarda en un archivo
######################################################
sub solicitarPagina{
my ($urlBuscar,$archivo)=@_;
############################################
my $ua=LWP::UserAgent->new;
$ua->agent("Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20100101 Firefox/16.0");
#si tiene proxy habilitar esta linea
# $ua->proxy(['http','ftp'],'http://192.168.1.1:3128');
my $req=HTTP::Request->new(GET=>$urlBuscar);
my $response= $ua->request($req);
my $content=$response->content();
############################################
# abrir archivo segun parametro
open(FH,">",$archivo);
############################################
print FH $content;
close(FH);
}
------------------------------ CORTAR AQUI ------------------------------


Comentarios
Publicar un comentario