• Publicidad

Script que descarga archivo de URL y mete en base de datos

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

Script que descarga archivo de URL y mete en base de datos

Notapor cleopatra » 2012-11-29 11:13 @509

Buenas tardes a todos,

Soy muy nueva en Perl y estoy intentando replicar un script que haga lo siguiente:
- Descarga de una URL un archivo en formato Excel
- El contenido de este fichero lo mete en una base de datos MySQL.

De momento el problema que tengo es la descarga del archivo. Me da siempre error.

Este script se ejecutará una vez a la semana, bajará el archivo de la URL, cuyo nombre es dinámico.
Para definir el nombre del archivo juego con fechas, lo cual en principio está funcionando bien.
Así pues defino primero el nombre que tendrá el archivo y después intento descargarlo.
Este archivo, con ese nombre, sí existe en la URL, así que no sé qué estoy haciendo mal.

Este es el código en la primera parte del modelo (sin incluir aún la db):

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2.  
  3. use DBI;
  4. use LWP::Simple;
  5. use Date::Business;
  6.  
  7. # $dbh = aquí pondré mis datos de db pero por el momento los quito;
  8.  
  9. # current date
  10. my $date = new Date::Business();
  11. $today=$date->image();
  12.  
  13. # current date
  14. my $date2 = new Date::Business();
  15.  
  16. # last date of the report
  17. $date2=$today-4;
  18.  
  19. $todate=$date2;
  20.  
  21. $toyear = substr($todate,0,4);
  22. $tomonth = substr($todate,4,2);
  23. $totoday = substr($todate,6,2);
  24.  
  25. # current date
  26. my $date3 = new Date::Business();
  27.  
  28. # first date of the report
  29. $date3=$today-11;
  30.  
  31. $fromdate=$date3;
  32.  
  33. $fromyear = substr($fromdate,0,4);
  34. $frommonth = substr($fromdate,4,2);
  35. $fromday = substr($fromdate,6,2);
  36.  
  37. my $qa = get("https://[aquí la url]/RawDataDump_$fromyear$frommonth$fromday-$toyear$tomonth$totoday.xls")
  38.   or die "Couldn't fetch the QA RAW DATA.";
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Como veis la URL comienza por https, aunque eso en teoría no debería ser problema. Como digo, el nombre del fichero lo genera bien (en mis pruebas imprimo por pantalla el nombre, que en este caso sería: RawDataDump_20121118-20121125.xls y lo hace bien.

Cualquier ayuda o consejo será muy bienvenida.

¡Muchas gracias!
Cleo
cleopatra
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2012-11-29 11:03 @502

Publicidad

Re: Script que descarga archivo de URL y mete en base de dat

Notapor explorer » 2012-11-29 12:23 @557

Bienvenida a los foros de Perl en Español, cleopatra.

Mírate antes estos dos hilos:
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Script que descarga archivo de URL y mete en base de dat

Notapor cleopatra » 2012-11-29 12:28 @561

¡Muchas gracias, explorer!

Voy a leerlo bien y detenidamente y ver qué puedo sacar de ello.
Ya os comento con lo que sea :)

¡Saludos!
Cleo
cleopatra
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2012-11-29 11:03 @502


Volver a Básico

¿Quién está conectado?

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