Pythonmania

Script Different!

Suchen in:
Suche:
In Partnerschaft mit Amazon.de
Startseite | Schockwellenreiter | Impressum
Anzeigen


Das fakeMail()-Script in Python

Python Icon 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.

Spammer






Werbung: