• Publicidad

Cómo extraigo un email completo de un código fuente

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

Cómo extraigo un email completo de un código fuente

Notapor BigBear » 2009-06-28 20:17 @886

Hi!

Ando flojeando con las expresiones regulares y no sé cómo extraer un email de un código fuente.

La duda es cómo identificar cualquier email de cualquier página e ir guardándolo en un log.

ejemplo: [email protected]
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Notapor netsoul » 2009-06-28 22:48 @991

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
netsoul@intel:~$ perl -pe 's/.*?([.a-z0-9_-]+@[a-z0-9-]+\.[a-z]+[.a-z]+).+$|.+\s/$1/ig' cod.htm > log.txt
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Puede hacerse en una línea, pero creo que ya fui muy redundante. :lol:
With Perl
Imagination is more important than knowledge. Albert Einstein.
netsoul
Perlero nuevo
Perlero nuevo
 
Mensajes: 150
Registrado: 2008-05-04 01:11 @091

Notapor explorer » 2009-06-29 03:31 @188

El asunto no es trivial. Está respondido en el perlfaq9, pero con una solución como la mostrada por netsoul puede valer.

Otra cosa es porqué quieres hacer esto.

Si quieres recoger direcciones de correo de páginas web para luego meterlas en listas de correo no solicitado, os arriesgáis a ser filtrados por los servidores de correo de todo el mundo, aparte de las sanciones administrativas de tu país de origen. Aquí, en España, está penado con hasta 600.000€.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor BigBear » 2009-06-29 17:00 @750

Hola netsoul. Gracias por decirme cómo era pero ¿cómo lo haría lo que me pusiste en un script sencillo sin perl -le?

PD: Tranquilo, explorer, no es para nada ilegal.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Notapor explorer » 2009-06-29 17:26 @768

Es fácil, como pone en perlrun verás que '-p' equivale a hacer este bucle alrededor del programa descrito con '-e':
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
LINE:
while (<>) {
    ...         # tu programa va aquí
} continue {
    print or die "-p destino: $!\n";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


No es muy complicado, ¿no?

netsoul te pondrá el programa completo.

El programar en la línea de comandos es por la impaciencia de tener el resultado ya mismo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor netsoul » 2009-06-29 20:00 @875

Aquí estoy. Completando...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
LINE:
while (<>) {
    s/.*?([.a-z0-9_-]+@[a-z0-9-]+\.[a-z]+[.a-z]+).+$|.+\s/$1/ig;
} continue {
    print or die "-p destino: $!\n";
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
;)
With Perl
Imagination is more important than knowledge. Albert Einstein.
netsoul
Perlero nuevo
Perlero nuevo
 
Mensajes: 150
Registrado: 2008-05-04 01:11 @091


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron