Freie Domains (.de) per Python Skript ermitteln

Kleines Python 3 Skript, mit dem sich ermitteln lässt, welche .de Domains noch nicht vergeben sind.

Warum das Ganze?

Ich hatte kürzlich die Idee, zukünftig für die Anmeldung bei Online-Diensten eine Catchall Mailadresse einzurichten und dann je Dienst eine eigene Mailadresse zu verwenden, um bei Datenleaks etc. zu sehen, wo sie abhanden gekommen sind und vor allem auch, um gezielt sperren zu können.

Ich hätte also gerne Adressen wie amazon@xyz.de und facebook@xyz.de zur Verfügung. Und dafür wäre es doch schön, eine möglichst kurze Domain zu besitzen. xyz.de ist natürlich schon vergeben, aber vielleicht gibt es da ja noch etwas anderes mit wenigen Buchstaben?

Doch wie findet man das nun heraus? Es gibt zwar zig Seiten, bei denen man prüfen kann, ob eine Name schon vergeben ist, aber um gezielt freie Domains zu finden ist das natürlich viel zu aufwändig. Zum Glück gibt es einen Service, der genau das macht: WHOIS.

Folgendes Skript ist dabei herausbekommen. Sicher kein Musterbeispiel der sauberen Programmierkunst, aber es tut genau das was ich möchte: Alle freien .de Domains mit max. 5 Zeichen vor dem Punkt ermitteln.

Dazu nutzt es das „whois“ Paket von Python. Dieses meldet eine Exception, wenn ein Eintrag nicht gepflegt ist und genau das machen wir uns zu nütze. Da so ziemlich viele Anfragen zusammenkommen, fängt der whois Server irgendwann an, nur noch leere Responses zurückzugeben. Daher habe ich eine kleine Wartefunktion für diesen Fall eingebaut, die es dann immer wieder probiert. Zuerst nach 2s, dann nach 4s, nach 8s, etc., schließlich wollen wir den Server ja nicht unnötig zuspammen.

Die Ergebnisse werden live in der Konsole ausgegeben für jede geprüfte Domain und eine Liste aller gefundenen unvergebenen Domains wird in einer Textdatei abgespeichert.

Wer auch auf der Suche ist: Viel Spaß damit 🙂

Das Skript findet ihr bei Github zum Herunterladen: https://github.com/eikowagenknecht/whois

Um es ausführen zu können, müsst ihr Python 3 installiert haben und das Paket whois per pip install python-whois installiert haben. Dann kann das Skript abgespeichert und per python ./runthis.py ausgeführt werden.

Ergebnis (Stand heute)

Berücksichtigt sind nur Domains, die ausschließlich aus den Buchstaben a-z bestehen.

Freie 1-Stellige .de Domains: 0 von 26 (0%)

Freie 2-Stellige .de Domains: 0 von 676 (0%)

Freie 3-Stellige .de Domains: 0 von 17576 (0%)

Freie 4-Stellige .de Domains: 49694 von 456976 (10,87%)

Quellen

https://stackoverflow.com/questions/31597125/how-to-find-out-programmatically-if-a-domain-name-is-registered-or-not

https://stackoverflow.com/questions/5419389/how-to-overwrite-the-previous-print-to-stdout-in-python

Wenn diese Seite für dich hilfreich war und du dich bei mir bedanken möchtest, dann freue ich mich ganz außerordentlich darüber, wenn du für deinen nächsten Einkauf bei amazon.de über diesen Link gehst. Ich bekomme dann eine kleine Provision, für dich kostet es keinen Cent extra. Wenn du mich lieber anders unterstützen möchtest, findest du hier hier weitere Möglichkeiten.

7 Kommentare zu „Freie Domains (.de) per Python Skript ermitteln“

  1. Schöne Lösung des Problems.
    Leider wird nicht berücksichtigt, dass auch „-“ oder Ziffern als Zeichen möglich sind.
    Von irgendwelchen alternativen Umlauten abgesehen.
    Das Skript funktioniert mit Whois V 0.7.3, bei 0.8.0 gibt es eine Fehlermeldung
    Bei mir hat es ca 1 Tag gedauert bis alle 4-stelligen urls geprüft waren.
    Dehalb habe ich den Prozess für 5 und 6 stellige mal auf einen rpi ausgelagert.

  2. Super Skript! Genial wäre es wenn man zusätzlich noch eine feste Zeichenfolge vordefinieren könnte.
    zB.: Zeichenfolge = abc; Länge = 5;

    Ergebnis: xabcx.de; abcxx.de; xxabc.de

  3. Hallo Eiko,

    vielen Dank für das Script.
    Speichert der die Ergebnisse eigentlich erst nach Abschluss durch oder bereits während der Ausführung des Scripts?

    Bin recht neu in Python, das Script hatte ich angepasst und es läuft ohne Probleme 🙂

      1. Hallo Eiko,

        danke dir für die schnelle Rückmeldung.
        Dann muss ich scheinbar nochmal schauen, warum er dies bei mir nicht macht 🙂
        Vielen Dank!

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.