Anzeige:
Ergebnis 1 bis 8 von 8

Thema: ein paar Fragen zur Programmierung von Web-Spidern

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.01.2003
    Beiträge
    21

    ein paar Fragen zur Programmierung von Web-Spidern

    Hi.
    Ich will ein wenig mit Web-Spidern experiementieren und habe dazu ein paar Fragen.

    - Wie verhindere ich mehrmaliges anfordern von Dateien?
    Ich habe schon die Möglichkeit in Betracht gezogen alle URLs intern gespeichert zu halten, aber dies würde ja dazu führen das das Programm immer mehr RAM verbrauchen würde und nur eine bestimmte Anzahl von URLs möglich wäre.

    - Was muss ich beachten? zB Wieviel Clients dürfen max auf einen Host zugreifen?

    Schonmal danke im Voraus für jene die mir da weiterhelfen.

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Hmm...

    Sorry dass ich dir nicht direkt weiterhelfen kann, aber hätte ne Frage: Was istn Web-Spider?

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.01.2003
    Beiträge
    21

    Re: Hmm...

    Original geschrieben von ceisserer
    Sorry dass ich dir nicht direkt weiterhelfen kann, aber hätte ne Frage: Was istn Web-Spider?
    Eine Spider ist ein automatiesierte Software (quasi ein Roboter) der Webseiten aus dem World Wide Web holt. Das machen zB die Suchmachinen um die Seiten zu indexieren. Eventuell kennt Sie der ein oder andere auch unter dem Begriff Web Crawlers.

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615

    Re: Hmm...

    Original geschrieben von ceisserer
    Was istn Web-Spider?
    ich vermute Prinzipiell dasselbe wie robots - also Maschienen die das Webdurchsuchen, und den Inhalt indizieren (Die Suchmaschienen verfahren so).

    Viel zu der Thematik kann ich nicht sagen, eine bessere Möglichkeit als die aufgerufenen URL im Speicher zu behalten, bzw irgendwo zu speichern fällt mir nicht ein, aber es sollte eine andere Möglichkeit geben sonst wären die Googlebots ja richtige Monstamaschienen. Oder es muss richtig intelligentes Speichermanagement im Programm geben, z.B. alle aufgerufnenen Seiten von dem aktuellen Host im RAM halten. Alle anderen aufgerufenen Seiten in einen Cache (also eine Feste Datei auf der Festplatte) speichern, am besten komprimiert, alle bisher aufgerufenen Hosts in einer seperaten Datei. führt nun ein Link von der Homepage runter, müsste man erst prüfen ob der Host schonmal aufgerufen wurde, wenn nicht wird der Host auf eine Todo gesetzt, ansonsten wird der Link verworfen (bzw zur noch späteren Kontrolle in eine andere Datei geschrieben, in der erstmal geschaut ob der Link denn auch in der komprimierten Datei vorhanden ist, und bei Bedarf trtozdem noch abgespidert wird).

    zu der Maximalen Verbindungsanzahl kann man nicht soviel sagne, die ist von Host zu Host unterschiedlich, ich würde nicht soviele nehmen, damit man es nicht als DoS ansieht, vielleicht so 10 - 20 Maximal.
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Beiträge
    161
    Vielleicht gibt dies einen Anstoss - ausprobieren!

    http://www.touchgraph.com/TGGoogleBrowser.html

    Samsara
    Interface design
    whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
    Hardware compatibility list - das Original mit bereits 3000 Einträgen
    It ain't a hack if it ain't dirty.

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    wget hat ja auch einen Spider-Modus. Allerdings habe ich nicht die kleinste Ahnung, wie die das machen.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    05.09.2002
    Ort
    Neuhausen
    Beiträge
    320
    Zuerst ein Tipp: Lass ihn nicht auf Linuxforen/mrunix und andere Foren los, die haben das nicht gern, wegen dem Traffic.

    Man könnte eine Liste der Domains im Speicher halten, welche eine Pointer auf die Liste aller der Domain zugehörigen URLs auf der Harddisk enthalten. Sobald eine URL mit der Domain vorkommt, wird die auf der Harddisk enthaltene Liste nachgeladen und ist so schnell zugriffsbereit im Speicher, da mit grosser Wahrscheinlichkeit die nächsten URL auch in dieser Liste stehen.

    Um nicht zuviel Speicher für die URLs in der Liste zu verbrauchen, könnte man statt der eigentlichen URL nur ein Hash davon speichern (z.B. md5, doch auch CRC32 würde reichen). Nun muss nur die nächste URL gehashed werden und mit den Werten in der URL verglichen werden.

    Gruss, Andy

  8. #8
    Administrator
    Registriert seit
    13.04.1999
    Ort
    Reutlingen
    Beiträge
    535
    Hallo,

    vor einger Zeit hatte ich mich auch mit der Thematik auseinandergesetzt.

    Hier habe ich einen interessanten Link zu diesem Thema:

    http://www.mnogosearch.ru/

    Dort findest Du eine komplette Suchmaschine. Auch der Roboter ist
    wirklich gut zu konfigurieren.

    Viele Grüße

    Eicke

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •