Die Ruhe kann ich auch anhand meiner Daten nachweisen. Von den 52.000 Domains in meiner Datenbank waren nur drei (!) Domains korrekt per Punycode kodiert. Rund 20 Domains waren mit Umlauten erfasst (und von meinem Spider fälschlicherweise als gelöscht gekennzeichnet). Also vielleicht 25 Umlautdomains auf 52.000 Domains im Gesamten. Dies zeigt den Beliebtheitsgrad der Umlautdomains, zumal gerade im deutschen Sprachraum Umlaute durchaus häufig auch in Domainnamen vorkommen.
Auch wenn der prozentuale Anteil extrem niedrig ist, musste ich meinen Spider anpassen. Die Umrechnung in Punycode ist nachvollziehbar, aber auch nicht gerade trivial. So war ich eher auf der Suche, ob es schon fertige dll´s oder Klassen gibt, die diese Arbeit korrekt erledigen. Und in der Tat habe ich schnell was für VB6 gefunden. Ärgerlich, denn ich habe mich ja für C# entschieden. Aber ein wenig weiter googeln und auch hier wurde Freeware gefunden. So konnte ich die vorhandenen Domains schnell umrechnen. Die neu gefundenen Domains werden nun automatisch richtig in der Datenbank abgelegt.
Tag 12: 76.000 Domains und ein paar kleinere Programmfehler
Es ist das Wochenende vergangen. Nun stimmen die Tage im Titel nicht mehr mit den wirklichen Kalendertagen überein. Ist nun mal so von mir bestimmt.
Inzwischen tummeln sich über 76.000 Domains in der Datenbank. Ein wenig beachtlich, denn ich habe nach wie vor noch keine Datensätze importiert. Diese stammen nur vom Grabber. Allerdings macht mir der Grabber dahingehend Sorgen, als dass sich dieser als „Nadelöhr“ herauskristalisiert hat. Er hat noch nicht einmal zehn Prozent der aktuell in der Datenbank befindlichen Domains besucht. Dass der Grabber durch die Aufgabe, auch alle Links von der Startseite zu besuchen, durchaus beschäftigt sein wird, lag auf der Hand. Auch habe ich immer damit gerechnet, ihn einmal auf mehreren Maschinen laufen zu lassen. Doch dass er derart „hinterherhinkt“, muss ich im Auge behalten.
Über das Wochenende wurde noch einige kleinere Bugs in den Programmen gefixed. Unter anderem hat die Punycode-Umrechnung bei Deeplinks zu Problemen geführt. Wenn Zeichen wie „?“ oder „=“ in der URL vorkamen, hat die DLL einen Fehler zurückgegeben. Also musste ich die eigentliche Domain aus der URL herauslösen, umrechnen und die URL neu zusammensetzen. Die DLL hätte dies sicherlich schon von alleine erledigen können, doch sie ist Freeware und darüber sind wir dankbar. Es fällt einem hier das Sprichwort vom „Geschenkten Gaul“ ein …
Der Gedanke, dass auch eine gelöschte Domain wieder konnektiert wird, liegt ja auf der Hand. Bisher habe ich diese Domains aus der weiteren Überprüfung herausgenommen. Am Wochenende habe ich eine spezielle Prüfung dieser Teilmenge hinzugefügt. Aktuell wird bei Start des „Pingers“ diese Menge zuerst abgefragt. Habe mich für diese Lösung entschieden, da geplant ist, dass das Programm auf einem V-Server in Betrieb zu nehmen. Die Maschine wird normalerweise einmal am Tag gebootet. Somit würde diese Prüfung auch nur einmal pro Tag ausgeführt. Ob das in der Praxis langt, oder ob die Prüfung der bereits gelöschten Domains nicht mit der Prüfung der restlichen Domains durchgeführt wird, das werden wie weiteren Tage zeigen.