Anfang verpasst? Zurück zu: „Gelöschte Domains: Wie der Spider entstand“
Wie geht man so was an?
Nun, ebenso wenig, wie eine Liste über gelöschte Domains zu erhalten ist, gibt es eine Liste der vergebenen DE-Domains. Eine solche Liste, auch Zone File genannt, ist aber die Basis der Prüfung. Wie also so etwas erhalten? Ein Spider programmieren, der damit beginnt, eine Webseite und deren Links auszulesen. Deren Links folgt der Spider und liest die nächste und nächste und nächste Webseite aus. Aus den gewonnenen Daten füllt sich die Domain-Liste automatisch.
Die ersten Versuche habe ich heute in VB6 gemacht. Diese alte Microsoft-Sprache gilt nicht zu unrecht als veraltet, doch die Ergebnisse sind schlank, da sie kein großes Framework benötigen. Die Programme laufen auch auf kleinen virtuellen Maschinen und der Code ist stabil. Die Nasa soll die Software ihrer Raumschiffe noch immer in C bzw. einem Dialekt davon programmieren. Warum? Es läuft sein vielen, vielen Jahren. Die Programmierer keinen die Tücken, da alles ausgiebig getestet ist. Es wäre ein Fiasko, wenn ein Satellit wegen eines Softwarefehler abstürzen würde. Oder ein BlueScreen bei einem bemannten Raumflug …
Doch nach einigen Tests heute Morgen habe ich mich doch für C# entschieden. Hintergrund war, dass ich mit zwei Komponenten in VB6, die den iNet-Zugriff steuern, oftmals auf „Kriegsfuß“ stehe. Auch bei diesem Projekt war das der Fall, so dass ich relativ schnell auf C# umgestiegen bin. Doch dies wird sich sicherlich rächen, denn spätestens bei der Virtualisierung muss ich die hier gewonnene Zeit wieder in ein Vielfaches davon investieren.
Tag 2: Der erste Domain-Spider für mein eigenes Zone-File
Die erste SQL-Datenbank habe ich bereits gestern erstellt. Erst einmal ganz einfach. Eine Tabelle mit einem ID-Feld, einem Feld „Domain“, ein Feld mit einem Timestamp und einem Status-Feld. Nichts weltbewegendes. Es ist schon jetzt klar, dass hier noch weitere Felder hinzukommen werden. Ich stehe auf Projekte, die nicht von vorne komplett durchdacht sind … <g>
Der Spider nimmt langsam Formen an. Er liest die Startseite einer Seite aus, extrahiert die Links daraus und gleicht sie mit seiner Datenbank ab. Ist die Domain neu, trägt er diese in die Datenbank ein. Ich habe mich entschlossen, auch alle Seiten eines Web, die von der Startseite aus verlinkt sind, zu spidern. Ich verspreche mir hier doch noch den ein oder anderen Link. Spidert mein Programm ein Webkatalog o.ä, wäre natürlich eine tiefere Analyse wünschenswert. Doch für 90 Prozent der Seiten, so meine Hoffnung, ist dies in Ordnung.
Für den Spider habe ich als Startdomain die Seite des Heise-Verlages festgelegt. Unter Computerkennern ein beliebtes Portal. Er hat dort eine Masse an Domains gefunden und spidert eifrig vor sich hin. Inzwischen ist er bereits in die Tiefen des Internets abgetaucht und nähert sich den ersten 1.000 Domains.
Per Definition habe ich festgelegt, dass der Spider nur Domains folgenden soll, die eine Top-Level-Domain (TLD) DE, COM, NET und ORG haben. Mehr habe ich selbst nicht im Fokus. Evtl. werde ich diese Restriktion irgendwann noch anpassen.