miércoles, mayo 16, 2007

Recolector de emails sencillo en Ruby

Estudiando un poco para desenpolvar las neuronas, aqui publico un ejercicio en Ruby, el cual básicamente lo que hace es leer el directorio actual, filtrar archivos que no sean .txt, .htm, o .html. Luego busca linea por linea que haya una cuenta de correo electrónico por medio de una sencilla expresión regular. Y luego lo imprime la(s) cuenta(s) encontrada(s). Con unas pequeñas modificaciones se pueden hacer que en automatico cheque una página, evalue el contenido y se vaya buscando. Rayos, por eso siempre les insistí a mis amigos y contactos de hotmail, que nunca reenvien (forward) las malditas cadenas, porque solo sirven para recolectar cuentas de correo que luego se usan para el maldito spam.
Aqui esta una prueba contundente:





puts "email harvester..."
dirp = Dir.open(".")
for fn in dirp
case fn
when /^.*\.txt/,/^.*\.htm./

f = File.open(fn)
f.each do line
re = /[A-z0-9_\.\[]*@[A-z0-9\.]*/
if line =~ /[A-z0-9_\.]*@[A-z0-9\.]*/
while re.match(line)
puts re.match(line)
line = line.sub(re,"*")
end
end
end
end
end
dirp.close

Technorati : ,

No hay comentarios.:

Publicar un comentario