Kleiner URL-Spider

  • Tach!

    Hier mal ein kleiner Auftrag für einen URL-SPider.

    Ich weiß, dass es im englischen Forum auch schon viele solcher Dinge rgibt, die allerdings ganze Dateiurls´s oder gar Emailadressen ausspähen, dass will ich abe rnicht.

    Ich möchte nur Links, URL´s.

    Das heißt das Programm sollte inene Input, ein Edit, einen Start- und Stopknof haben und eine Speicherfunktion der Linkliste, dabei sollen nach druck des Startknopfes von allen gefundenen URL´s wieder Spiderraster erstellt werden, ja unendlich weit. WIll ich nicht mehr, ist der Stopknopf ja da :)

    Wer mehr lage Weile hat, kann ja noch eine Tiefenbgrenzung einbauen ;)

    Es soll ausschließlich Linkadrssen zu HTML und PHP Seiten finden. Kein Dateien oder Bilder etc., alle Links ollen leif in einer Liste gepeichert und im Edit angezeigt werden, ohne Zusatzinfo´s.

    Biss dann!

    PS: Ich möchte hier keine Hilfe für ein solches Skript, sondern ein möglichst funktionsfähiges Skript ;)

  • Also so wie ich ihn verstanden habe, möchte er eine Website angeben (beispielsweise https://autoit.de/www.google.ch (ist natürlich eines der schlechtesten Beispiele die ich hätte nehmen können)) und der Spider, geht dann allen links auf dieser Seite nach, notiert diese und geht dann wieder weiter...dann lag ich mit meiner Antwort ja gar nicht so weit entfernt...allerdings würde dann eine Tiefenbegrenzung schon fast ein muss, sonst startest du s einmal und dann hängt der PC, bis er jedem sche*** Link nachgegangen ist, der auf der Website ist...zusätzlich sollte auch noch ein Add-Filter eingebaut werden, der merkt, sobald das Programm von der Website weg ist (also ein Add ausgewählt wurde)...im grossen und ganzen könnte ich so also zum beispiel alle seiten von autoit.de in einer Liste speichern?

    Edit: Die Frage ist dann nur noch, ob das ganze im Hintergrund laufen MUSS ?(

    Bild1: Ich beim debuggen

  • @Kaboom: Wenn man es sauber programmiert läuft es immer im Hintergrund: InetRead + StringRegExp ;)

    [autoit]

    $page = BinaryToString(InetRead(...))
    $links = StringRegExp($page, '(?i)<a\s[^>]*href\s*=\s*"([^"])*', 3)
    $form = StringRegExp($page, '(?i)<form\s[^>]*action\s*=\s*"([^"])*', 3)
    $script = StringRegExp($page, '(?i)<script\s[^>]*src\s*=\s*"([^"])*', 3)
    ...

    [/autoit]