Bueno, el día de hoy estaba de ocioso, me aburri de programar un sistema en el que ando y me puse a programar un extractor de mails con python, creo que si es un poco mas rápida la ejecución de codigo que con php, aparte que hace rato no hacia nada con python, entonces pues no esta mal de vez en cuando :P
El código es sencillo, espero les guste y les sirva de algo, en caso de que no, al menos se haya entretenido leyendo el parrafo anterior! xD :P
Imagen de como se ve:
#inicio del code --------------
#/usr/local/bin/python
# -*- coding: utf-8 -*-
import os
import urllib
import string
import re
import sys
import time
import datetime
import random
t0 = time.clock()
correito = re.compile('([\w\-\.]+@(\w[\w\-]+\.)+[\w\-]+)')
print 'Burning Board 2.2.2 mail xtrakt0r'
print '------------Komtec1--------------'
print '-----komtec1[at]gmail[dot]com----'
print '\n Ingresa el nombre con el que vas a guardar el archivo'
nombre = raw_input("")
print '\n Ingresa la url completa ej: http://sitio.com/forums/profile.php?userid='
url = raw_input("")
print '\ Ingresa el numero inicial, si lo dejas en blanco comienza en 1'
inicial = raw_input("")
if inicial == '':
inicial = 0
print 'Si sabes el numero final de usuarios ingresalo, o ingresa el numero maximo de intentos Ej: 315000'
usuarios = raw_input("")
print 'Espera un momento, el script se esta ejecutando'
if usuarios == '':
print 'Voy a sacar el numero de usuarios '
else:
for x in range(int(inicial), int(usuarios)):
mail = ''
urlf = url + str(x)
chek = urllib.urlopen(urlf)
chek2 = chek.read()
if x%100 == 0:
print x
if chek2.find("This address/url is invalid. If you clicked on a link, please inform the") >= 0:
mail = ''
else:
mail = correito.findall(chek2)
if len(mail) == 1:
f = open (nombre+".txt", "a")
f.write(str(mail) + '\n')
f.close()
print mail
print "%.2f sec" % (time.clock() - t0)
#fin del code ------
les dejo el enlace por cualquier cosa:
http://pastebin.com/3bqTaTfU
No esta de más mencionar que el codigo va a servir cuando en el servidor el correo se muestre, por ejemplo aqui:
http://www.romnation.net/forums/profile.php?userid=215204
De hecho esa página fue la "inspiradora" para hacer el codigo xD :P
Saludos!!! :D :D :D :D
PD: Ya hice dos modificaciones al codigo! :D (20:25 - 13/01/2012)
Komtec1
El código es sencillo, espero les guste y les sirva de algo, en caso de que no, al menos se haya entretenido leyendo el parrafo anterior! xD :P
Imagen de como se ve:
#inicio del code --------------
#/usr/local/bin/python
# -*- coding: utf-8 -*-
import os
import urllib
import string
import re
import sys
import time
import datetime
import random
t0 = time.clock()
correito = re.compile('([\w\-\.]+@(\w[\w\-]+\.)+[\w\-]+)')
print 'Burning Board 2.2.2 mail xtrakt0r'
print '------------Komtec1--------------'
print '-----komtec1[at]gmail[dot]com----'
print '\n Ingresa el nombre con el que vas a guardar el archivo'
nombre = raw_input("")
print '\n Ingresa la url completa ej: http://sitio.com/forums/profile.php?userid='
url = raw_input("")
print '\ Ingresa el numero inicial, si lo dejas en blanco comienza en 1'
inicial = raw_input("")
if inicial == '':
inicial = 0
print 'Si sabes el numero final de usuarios ingresalo, o ingresa el numero maximo de intentos Ej: 315000'
usuarios = raw_input("")
print 'Espera un momento, el script se esta ejecutando'
if usuarios == '':
print 'Voy a sacar el numero de usuarios '
else:
for x in range(int(inicial), int(usuarios)):
mail = ''
urlf = url + str(x)
chek = urllib.urlopen(urlf)
chek2 = chek.read()
if x%100 == 0:
print x
if chek2.find("This address/url is invalid. If you clicked on a link, please inform the") >= 0:
mail = ''
else:
mail = correito.findall(chek2)
if len(mail) == 1:
f = open (nombre+".txt", "a")
f.write(str(mail) + '\n')
f.close()
print mail
print "%.2f sec" % (time.clock() - t0)
#fin del code ------
les dejo el enlace por cualquier cosa:
http://pastebin.com/3bqTaTfU
No esta de más mencionar que el codigo va a servir cuando en el servidor el correo se muestre, por ejemplo aqui:
http://www.romnation.net/forums/profile.php?userid=215204
De hecho esa página fue la "inspiradora" para hacer el codigo xD :P
Saludos!!! :D :D :D :D
PD: Ya hice dos modificaciones al codigo! :D (20:25 - 13/01/2012)
Komtec1
Comentarios