• Publicidad

Comparar páginas Perl

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

Re: Comparar páginas Perl

Notapor jacks » 2011-09-07 16:50 @743

No desisto en que alguien pueda ayudarme y decirme cómo poder usar el método getDateTime(). Leí la documentación pero no consigo entender cómo hacerlo. Por favor, alguna ayuda.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Publicidad

Re: Comparar páginas Perl

Notapor explorer » 2011-09-07 16:54 @745

¿En dónde has leído la documentación de ese método? Ahora no caigo a qué módulo corresponde.
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: Comparar páginas Perl

Notapor jacks » 2011-09-08 06:39 @318

Es de XML::RSS::FromHTML. Eso supuestamente para obtener la fecha en la que se publicó la noticia pero lo que no he conseguido es saber dónde tengo y cómo tengo que usar el método . He interpretado que debería ser en:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.  sub makeItemList {
  2.             ....
  3.             while ($html =~ m|<h2 ><a href="(.*?)" title="(.*?)".+?<p>(.+?)>|smg){          # Patrón por el que buscaremos las notícias.
  4.      
  5.             # print "[$1][$2][$3]\n";                                                       # Imprimir por  pantalla lo que hemos encontrao.
  6.      
  7.             push(@list,{                                                                    # La lista de los elementos (Título, Link, Descripcion).
  8.                                                                            
  9.                 link        => $1,                                                                                                                        
  10.                 title       => $2,
  11.                 description => $3,
  12.                 fecha=>,
  13.             });
  14.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


.. para que la fecha salga en el archivo.cache . Lo que no sé es cómo hacer uso de él.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Comparar páginas Perl

Notapor explorer » 2011-09-08 09:01 @417

Pues... siguiendo el ejemplo que viene en el manual... será algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.                 fecha => $self->getDateTime('19940203T141529Z'),
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Si no se pone ningún argumento al método, devuelve la fecha actual. Si, como en el ejemplo, se pone una cadena de texto, intentará averiguar a qué fecha corresponde. El resultado es una fecha, en forma de cadena de caracteres, en formato RFC 1123.

(He traducido lo que pone en el manual.)
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: Comparar páginas Perl

Notapor jacks » 2011-09-19 11:10 @507

He usado el que tu me pusiste y lo que me genera es en todos los RSS la misma fecha. Le quité el parámetro que le pasabas a la función porque ponía 1994 y al quitárselo en todas me pone 'Mon, 19 Sep 2011 16:01:44 GMT' cuando la fecha real es '16 Sep 2011'. Lo he probado ahora otra vez y quizás signifique la última vez que la página fue modificada.


Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
           'fecha' => 'Mon, 19 Sep 2011 16:01:44 GMT',
            'title' => '16 Sep 2011',
            'description' => 'NFC-enabled BlackBerry Bold and Curve first smartphones with iCLASS functionality',
            'Link' => '/en/com/News/News/2011/News-2011/NFC-enabled-BlackBerry-Bold-and-Curve-first-smartphones-with-iCLASS-functionality/'
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Comparar páginas Perl

Notapor explorer » 2011-09-19 14:13 @634

Claro, es que eso es lo que pone en el manual del módulo ¿no lo has leído? Devuelve el valor de la fecha actual.

Para obtener la fecha de publicación, no sé de dónde lo puedes sacar.

Por ejemplo, en uno de los RSS que uso a diario, aparece la marca

<pubDate>Mon, 19 Sep 2011 16:10:02 +0000</pubDate>

Es una posibilidad: analizar el código RSS para sacarlo. Quizás con XML::RSS se pueda sacar más fácilmente.

Cuestión de mirar la documentación.
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: Comparar páginas Perl

Notapor jacks » 2011-09-26 15:47 @699

Hola, buenas. Tengo una consulta.

Estoy haciendo un bucle desde el cual cojo los links y los nombres de cada una de las empresas al que pertenece los links. Cuando genera el archivo .cache de cada uno de los links lo leo y lo muestro en pantalla. El problema es que si yo pongo manualmente el nombre del archivo sí lo encuentra y lo lee pero si lo hago usando un join() lo que ocurre es que no puede leerlo porque dice que no lo encuentra. He intentado hacer un chomp(), pero tampoco. ¿Alguien sabe por qué puede ser?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $pal = join(".", $empresa,"cache");                          
  2.                              
  3. my $archivo = read_file($pal);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Comparar páginas Perl

Notapor explorer » 2011-09-26 15:55 @705

¿Y no es mejor usar la interpolación?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $pal = "$empresa.cache";
  2.  
  3. die "ERROR: No encuentro el fichero [$pal]: $!\n"
  4.     if not -e $pal;
  5.  
  6. my $archivo = read_file($pal);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
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: Comparar páginas Perl

Notapor jacks » 2011-09-30 11:41 @528

Hola. ¿Sabríais decirme si existe algún modo de saber con Perl si una dirección URL está activa o no?
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Comparar páginas Perl

Notapor explorer » 2011-09-30 16:53 @745

Una forma de saberlo sería haciendo un get() (del módulo LWP::Simple, por ejemplo). Si responde, es que el servidor donde se aloja está respondiendo. Pero esto no es seguro, porque puede darse el caso de que en ese momento el servidor esté caído o la conexión hasta ese servidor esté caída.
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

AnteriorSiguiente

Volver a Básico

¿Quién está conectado?

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