Quelle: dotnetpro
dojoLösung: Graphentheorie im Web 15.07.2019, 00:00 Uhr

Wie speichert man das Internet?

Wie kann man alle Seiten einer Website finden und die Verlinkung als Graph darstellen?
Die Aufgabe aus dem vorangegangenen Heft bestand darin, die Seiten einer Website zusammen mit den internen Verlinkungen als Graph zu visualisieren. Als ich die Aufgabe gestellt habe, hatte ich kein konkretes Bild davon im Kopf, wie dieser Graph genau aussehen soll. Auch hatte ich keine präzise Vorstellung, wie sich die Struktur eines solchen Graphen typischerweise darstellen würde. Lediglich von der Implementation hatte ich eine grobe Vorstellung: den angegebenen URL als HTML-Dokument laden, mit dem HtmlAgilityPack [1] alle internen Links ermitteln und dann das ganze Prozedere rekursiv für jeden gefundenen internen Link durchlaufen. Die Visualisierung des Graphen wollte ich mit GraphViz [2] vornehmen.
Da ich zu Beginn außer der groben Idee keine klare Vorstellung davon hatte, wie eine Lösung für dieses Problem konkret aussehen könnte, habe ich mit einem Spike begonnen. Das Ziel einer Spike-Implementation ist der Erkenntnisgewinn. Es ging mir also im ersten Schritt nicht darum, sauberen Code inklusive Tests zu schreiben. Stattdessen wollte ich herausfinden, wie der Graph einer Website typischerweise aussieht. Ferner wollte ich aus technischer Sicht herausfinden, wie ich das Problem lösen kann.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar