|
Navigation:
Startseite Python bei O'Reilly Python & Tkinter Tkinter (deutsch) Tkinter (english) ftp mit Python Dialogboxen Kapitän Warum Python? Erste Schritte Grafische Ausgabe Das Modul W Easy Dialogs Mac File Dialogs Apfelmännchen Piddle & MacOS X Dancing Python User-Agenten XML-RPC Blogger API Anti-Spam-Script Template-Engine Python & XML Python Cookbook Impressum Schockwellenreiter
 |
fakeMail() in Python
Das fakeMail()-Script in Python
Das Python-Script für die Anti-Spam-Aktion folgt weitestgehend dem gleichnamigen UserTalk-Makro. Auch die Parameterübergabe ist identisch:
Alle Parameter sind optional und mit mehr oder weniger sinnvollen Werten vorbesetzt: numberOfMails ist die Anzahl der generierten Adressen, Default is 20, trenner sind die Trennzeichen zwischen den Mails, per Default wird ein Komma und ein Leerzeichen (", ") eingefügt. Mit prefix und postfix (die per Default nichts tun), kann man eventuell die Ausgabe zwischen HTML-Kommentaren verstecken.
Doch nun der Quelltext:
import random
def makeName(n):
s = ""
for i in range(n):
s = s + chr(random.randint(97, 122))
return s
def fakeMail(nOfMails=20, breakS=", ", prefix="", postfix=""):
tldList = ["com", "net", "org", "mil", "edu", "de", "biz", "de", "ch", "at", "ru", "de", "tv", "com", "st", "br", "fr", "de", "nl", "dk", "ar", "jp", "eu", "it", "es", "com", "us", "ca", "pl"]
result = ""
for i in range(nOfMails):
nameLength = random.randint(3, 10)
mailName = makeName(nameLength)
serverNameLength = random.randint(4, 20)
serverName = makeName(serverNameLength)
tldName = random.choice(tldList)
myMail = mailName + "@" + serverName + "." + tldName
myMail = '<a href="mailto:' + myMail + '"><b>' + myMail + '</b></a>'
if i == (nOfMails - 1):
result = result + myMail
else:
result = result + myMail + breakS
return prefix + result + postfix
if __name__ == "__main__":
print fakeMail()
Als erstes wird eine Liste von Top-Level-Domains (TLDs) vereinbart. Der einfachste Weg, bestimmte Domains per Zufall häufiger auftreten zu lassen, als andere, ist, diese mehrmals in die Liste einzutragen. Ihr könnt diese Liste nach eurem Gusto ergänzen, das Skript fragt nötigenfalls die Länge der Liste ab. Oben gibt es die Funktion, die eine zufällige Email-Adresse erzeugt (makeName(n)) und schließlich wird mit Hilfe dieser Funktion die gewünschte Anzahl von Email-Adressen ausgegeben.
Links im Schockwellenreiter werden immer fett ausgegeben, wem dies nicht behagt, der kann einfach die beiden Tags <b> und </b> in der letzten Zeile, die mit myMail beginnt, löschen.
Mit Hilfe der if __name__ == "__main__":-Konstruktion läuft das Modul auch standalone und gibt den HTML-Code für 20 Email-Adressen aus, die ihr dann in Eure Webseiten kopieren könnt.

| |