Suchfunktion für mehrere Homepages
Alexander Flassak
- perl
Ich verwende auf einer Homepage eine Suchfunktion, die die Inhalte dieser Seiten erfasst. Nun möchte ich gerne zusätzlich eine zweite Hompage in die Suche einbeziehen, kenne aber nur die Variante mit basedir und baseurl. Wie kann ich auf eine andere URL zugreifen und diese ebenfalls samt Unterverzeichnissen durchsuchen. Vielen Dank schon mal für Eure Hilfe.
Hi,
Ich verwende auf einer Homepage eine Suchfunktion, die die Inhalte dieser Seiten erfasst. Nun möchte ich gerne zusätzlich eine zweite Hompage in die Suche einbeziehen, kenne aber nur die Variante mit basedir und baseurl. Wie kann ich auf eine andere URL zugreifen und diese ebenfalls samt Unterverzeichnissen durchsuchen. Vielen Dank schon mal für Eure Hilfe.
das ist so gar nicht möglich. Du kannst nur eine Abfrage losschicken, die identisch ist mit der eines Browsers - und auch das Ergebnis ist identisch[1]. Ergo mußt Du wissen, welche Seiten Du lesen willst, denn andernfalls hast Du keine Möglichkeit, auf den Verzeichnisinhalt zuzugreifen[2]. Weißt Du jedoch, welche Seiten Du durchsuchen willst, steht alles andere in der Dokumentation zu LWP::Simple.
[1] Natürlich kann der Server den HTTP_USER_AGENT auslesen und nur bei Deinem Script eine alternative Seite zurückliefern. Ob sich dieser Aufwand lohnt, mußt Du selbst entscheiden.
[2] Vorausgesetzt, es existiert für das Verzeichnis eine Default-Seite, z.B. index.html. Andernfalls wird (je nach Serverkonfiguration) eine Verzeichnisliste zurückgeliefert, die Du parsen kannst. Ich gehe jedoch aufgrund Deiner Problembeschreibung davon aus, daß es sich um eine Homepage mit index.html auch in den Unterverzeichnissen handelt.
Eine Möglichkeit bleibt noch: Auf dem zweiten Server kannst Du ein (geheimes) Script ablegen, welches eine geeignete Verzeichnisstruktur zurückliefert. Dieses Script liest Du vom ersten Server aus mit LWP::Simple aus und nutzt die Daten geeignet.
Cheatah
Ich verwende auf einer Homepage eine Suchfunktion, die die Inhalte dieser Seiten erfasst. Nun möchte ich gerne zusätzlich eine zweite Hompage in die Suche einbeziehen, kenne aber nur die Variante mit basedir und baseurl. Wie kann ich auf eine andere URL zugreifen und diese ebenfalls samt Unterverzeichnissen durchsuchen.
Das hängt massiv von der Struktur Deiner Suchmaschine ab, über die Du leider gar nichts geschrieben hast.
Würde sie so ähnlich funktionieren wie die Suchmaschine des Archiv-Forums, aber vollständige statt relative URLs im Index enthalten, dann könntest Du mehrere (eigene - darum geht es Dir doch, oder?) Homepages separat indexen, die erstellten Indexe zusammenmischen und die Suchmaschine auf einem der entsprechenden Server laufen lassen.
Suchmaschinentreffer können ja schließlich *irgendwohin* zeigen.