Webkettenfahrzeug

Ein Webkettenfahrzeug ist ein Computerprogramm, das das World Wide Web auf eine methodische, automatisierte Weise oder auf eine regelmäßige Mode durchsucht. Andere Begriffe für Webkettenfahrzeuge sind Ameisen, automatischer indexers, Funktionseinheiten, Webspinnen, Webroboter, oder — besonders in der FOAF Gemeinschaft — Web scutters.

Dieser Prozess wird das Webkriechen oder spidering genannt. Viele Seiten, in besonderen Suchmotoren, verwenden spidering als ein Mittel, aktuelle Daten zur Verfügung zu stellen. Webkettenfahrzeuge werden hauptsächlich verwendet, um eine Kopie aller besuchten Seiten für die spätere Verarbeitung durch einen Suchmotor zu schaffen, der die heruntergeladenen Seiten mit einem Inhaltsverzeichnis versehen wird, um schnelle Suchen zur Verfügung zu stellen. Kettenfahrzeuge können auch verwendet werden, um Wartungsaufgaben auf einer Website, wie Überprüfung von Verbindungen oder Bestätigung des HTML-Codes zu automatisieren. Außerdem können Kettenfahrzeuge verwendet werden, um spezifische Typen der Information von Webseiten, wie erntende E-Mail-Adressen (gewöhnlich zu sammeln, um spam zu senden).

Ein Webkettenfahrzeug ist ein Typ der Funktionseinheit oder Softwareagent. Im Allgemeinen fängt es mit einer Liste von URL-ADRESSEN an, genannt die Samen zu besuchen. Da das Kettenfahrzeug diese URL-ADRESSEN besucht, identifiziert es alle Hypertext-Links in der Seite und fügt sie zur Liste von URL-ADRESSEN hinzu, um, genannt die Kraul-Grenze zu besuchen. URL-ADRESSEN von der Grenze werden gemäß einer Reihe von Policen rekursiv besucht.

Das große Volumen deutet an, dass das Kettenfahrzeug nur begrenzte Zahl der Webseiten innerhalb einer gegebenen Zeit herunterladen kann, so braucht es zu prioritize seine Downloads. Die hohe Rate der Änderung deutet an, dass die Seiten bereits aktualisiert oder sogar gelöscht worden sein könnten.

Die Zahl von möglichen crawlable URL-ADRESSEN, die durch die Software der Server-Seite erzeugen werden, hat es auch schwierig für Webkettenfahrzeuge gemacht zu vermeiden, Doppelinhalt wiederzubekommen. Endlose Kombinationen von HTTP KOMMEN (URL-ADRESSE-BASIERTE) Rahmen bestehen, deren nur eine kleine Auswahl wirklich einzigartigen Inhalt zurückgeben wird. Zum Beispiel kann eine einfache Online-Foto-Galerie drei Optionen Benutzern anbieten, wie angegeben, durch HTTP BEKOMMEN Rahmen in der URL-ADRESSE. Wenn dort vier Weisen bestehen, Images, drei Wahlen der Daumennagel-Größe, zwei Dateiformate und eine Auswahl zu sortieren, von den Benutzern vorausgesetzt dass Inhalt unbrauchbar zu machen, dann kann auf denselben Satz des Inhalts mit 48 verschiedenen URL-ADRESSEN zugegriffen werden, von denen alle auf der Seite verbunden werden können. Diese mathematische Kombination schafft ein Problem für Kettenfahrzeuge, weil sie durch endlose Kombinationen von relativ geringen Scripted-Änderungen sortieren müssen, um einzigartigen Inhalt wiederzubekommen.

Als Edwards u. a. bekannt "Vorausgesetzt, dass die Bandbreite, um Kraul zu führen, weder unendlich noch frei ist, wird es notwendig, das Web in nicht nur ein ersteigbare aber effiziente Weg zu kriechen, wenn ein angemessenes Maß der Qualität oder Frische aufrechterhalten werden soll." Ein Kriecher muss an jedem Schritt der Seiten sorgfältig wählen, als nächstes zu besuchen.

Das Verhalten eines Webkettenfahrzeuges ist das Ergebnis einer Kombination von Policen:

  • eine Auswahl-Politik, die der Seiten festsetzt, herunterzuladen
  • eine wieder besuchen Politik, die festsetzt, wenn man für Änderungen zu den Seiten, überprüft
  • eine Höflichkeitspolitik, die festsetzt, wie man vermeidet, Websites und zu überladen
  • eine parallelization Politik, die festsetzt, wie man verteilte Webkettenfahrzeuge koordiniert.

Auswahl-Politik

In Anbetracht der aktuellen Größe des Webs bedecken sogar große Suchmotoren nur einen Teil des öffentlich verfügbaren Teils. Eine 2005-Studie hat dass groß angelegter Suchmotorindex nicht mehr als 40 %-70 % des indexable Webs gezeigt; eine frühere Studie durch Dr Steve Lawrence und Lee Giles hat gezeigt, dass kein Suchmotor mehr als 16 % des Webs 1999 mit einem Inhaltsverzeichnis versehen hat. Da ein Kettenfahrzeug immer gerade einen Bruchteil der Webseiten herunterlädt, ist es hoch wünschenswert, dass der heruntergeladene Bruchteil die relevantesten Seiten und nicht nur eine zufällige Probe des Webs enthält.

Das verlangt einen metrischen wichtigen für prioritizing Webseiten. Die Wichtigkeit einer Seite ist eine Funktion seiner inneren Qualität, seine Beliebtheit in Bezug auf Verbindungen oder Besuche, und sogar seiner URL-ADRESSE (ist der Letztere vertikaler Suchmotoren der Fall, die auf ein einzelnes Gebiet auf höchster Ebene oder Suchmotoren eingeschränkt sind, die auf eine feste Website eingeschränkt sind). Das Entwerfen einer guten Auswahl-Politik hat eine zusätzliche Schwierigkeit: Es muss mit der teilweisen Information arbeiten, weil der ganze Satz von Webseiten während des Kriechens nicht bekannt ist.

Cho u. a. gemacht die erste Studie auf Policen für die kriechende Terminplanung. Ihre Datei war 180,000-Seite-Kraul vom Gebiet, in dem eine kriechende Simulation mit verschiedenen Strategien getan wurde. Die geprüfte Einrichtungsmetrik war Breite zuerst, Backlink-Zählung und teilweise Berechnungen von Pagerank. Einer der Beschlüsse war dass, wenn der Kriecher Seiten mit hohem Pagerank früh während des kriechenden Prozesses herunterladen will, dann ist die teilweise Strategie von Pagerank besser, gefolgt von der Breite zuerst und Backlink-Zählung. Jedoch sind diese Ergebnisse für gerade ein einzelnes Gebiet. Cho hat auch seine Doktordoktorarbeit an Stanford auf dem Webkriechen geschrieben.

Najork und Wiener haben wirkliches Kraul auf 328 Millionen Seiten mit der Breite durchgeführt zuerst bestellend. Sie haben gefunden, dass eine Breite erstes Kraul gewinnt Seiten mit hohem Pagerank früh in Kraul (aber sie haben diese Strategie gegen andere Strategien nicht verglichen). Die Erklärung, die von den Autoren für dieses Ergebnis gegeben ist, besteht darin, dass "die wichtigsten Seiten viele Verbindungen zu ihnen von zahlreichen Gastgebern haben, und jene Verbindungen früh, unabhängig davon gefunden werden, auf dem Gastgeber oder Kraul paginieren, entsteht."

Abiteboul hat eine kriechende Strategie entworfen, die auf einem Algorithmus genannt OPIC (Online-Seitenwichtigkeitsberechnung) gestützt ist. In OPIC wird jede Seite eine anfängliche Summe "des Bargeldes" gegeben, das ebenso unter den Seiten verteilt wird, zu denen es hinweist. Es ist einer Berechnung von Pagerank ähnlich, aber es ist schneller und wird nur in einem Schritt getan. Ein GeOPIC-steuertes Kettenfahrzeug lädt zuerst die Seiten in der kriechenden Grenze mit höheren Beträgen "des Bargeldes" herunter. Experimente wurden in einem synthetischen 100,000-Seite-Graphen mit einem mit der Machtgesetzvertrieb in den Verbindungen getragen. Jedoch gab es keinen Vergleich mit anderen Strategien noch Experimenten im echten Web.

Boldi. hat Simulation auf Teilmengen des Webs von 40 Millionen Seiten vom Gebiet und 100 Millionen Seiten von Kraul von WebBase verwendet, Breite zuerst gegen die Tiefe die erste, zufällige Einrichtung und eine allwissende Strategie prüfend. Der Vergleich hat darauf basiert, wie gut auf teilweisem Kraul geschätzter PageRank dem wahren Wert von PageRank näher kommt. Überraschend stellen einige Besuche, die PageRank sehr schnell ansammeln (am meisten namentlich, Breite zuerst und der Omniscent-Besuch) sehr schlechte progressive Annäherungen zur Verfügung.

Baeza-Yates u. a. verwendete Simulation auf zwei Teilmengen des Webs von 3 Millionen Seiten von und Gebiet, mehrere kriechende Strategien prüfend. Sie haben gezeigt, dass sowohl die OPIC Strategie als auch eine Strategie, die die Länge der Warteschlangen pro Seite verwendet, besser sind als Breite, die zuerst kriecht, und dass es auch sehr wirksam ist, vorheriges Kraul zu verwenden, wenn es verfügbar ist, um das aktuelle zu führen.

Daneshpajouh. hat entwickelt eine Gemeinschaft hat Algorithmus gestützt, um gute Samen zu entdecken. Ihre Methode-Kraul-Webseiten mit hohem PageRank von verschiedenen Gemeinschaften in weniger Wiederholung im Vergleich mit Kraul, das von zufälligen Samen anfängt. Man kann guten Samen aus einem Graphen herausziehen, der verwendet, "vorher ist Web" diese neue Methode gekrochen. Mit diesen Samen kann neues Kraul sehr wirksam sein.

Das eingestellte Kriechen

Die Wichtigkeit einer Seite für ein Kettenfahrzeug kann auch als eine Funktion der Ähnlichkeit einer Seite zu einer gegebenen Abfrage ausgedrückt werden. Webkriecher, die versuchen, Seiten herunterzuladen, die einander ähnlich sind, werden eingestelltes Kettenfahrzeug oder aktuelle Kettenfahrzeuge genannt. Die Konzepte des aktuellen und eingestellten Kriechens wurden zuerst von Menczer und von Chakrabarti und al eingeführt.

Das Hauptproblem im eingestellten Kriechen besteht darin, dass im Zusammenhang eines Webkettenfahrzeuges wir gern im Stande sein würden, die Ähnlichkeit des Textes einer gegebenen Seite zur Abfrage vor dem wirklichen Herunterladen der Seite vorauszusagen. Ein möglicher Prophet ist der Ankertext von Verbindungen; das war die Annäherung, die von Pinkerton im ersten Webkettenfahrzeug der frühen Tage des Webs genommen ist. Diligenti. haben vor, den ganzen Inhalt der Seiten zu verwenden, die bereits besucht sind, um die Ähnlichkeit zwischen der Fahrabfrage und den Seiten abzuleiten, die noch nicht besucht worden sind. Die Leistung eines eingestellten Kriechens hängt größtenteils vom Reichtum von Verbindungen zum spezifischen Thema ab, das wird sucht, und ein eingestelltes Kriechen verlässt sich gewöhnlich auf einen allgemeinen Websuchmotor, um Startpunkte zur Verfügung zu stellen..

Das Einschränken von gefolgten Verbindungen

Ein Kriecher kann nur HTML-Seiten herausfinden und alle anderen Typen MIME vermeiden wollen. Um nur um HTML-Mittel zu bitten, kann ein Kettenfahrzeug einen HTTP-KOPF bitten lassen, einen Webquellentyp MIME vor der Anforderung der kompletten Quelle mit einer BEKOMMEN Bitte zu bestimmen. Um zu vermeiden, zahlreiche HAUPT-Bitten zu machen, kann ein Kettenfahrzeug die URL-ADRESSE untersuchen und nur um eine Quelle bitten, wenn die URL-ADRESSE mit bestimmten Charakteren wie.html.htm.asp.aspx.php.jsp.jspx oder ein Hieb endet. Diese Strategie kann zahlreiche HTML-Webmittel veranlassen, unabsichtlich ausgelassen zu werden.

Einige Kettenfahrzeuge können auch vermeiden, um irgendwelche Mittel zu bitten, die haben"?" in ihnen (werden dynamisch erzeugt), um Spinne-Fallen zu vermeiden, die das Kettenfahrzeug veranlassen können, eine unendliche Zahl von URL-ADRESSEN von einer Website herunterzuladen. Diese Strategie ist unzuverlässig, wenn die Seite einen umschreiben Motor verwendet, um seine URL-ADRESSEN zu vereinfachen.

URL-ADRESSE-Normalisierung

Kettenfahrzeuge führen gewöhnlich einen Typ der URL-ADRESSE-Normalisierung durch, um zu vermeiden, dieselbe Quelle mehr zu kriechen, als einmal. Die Begriff-URL-ADRESSE-Normalisierung, auch genannt URL-ADRESSE canonicalization, bezieht sich auf den Prozess des Änderns und Standardisierens einer URL-ADRESSE auf eine konsequente Weise. Es gibt mehrere Typen der Normalisierung, die einschließlich der Konvertierung von URL-ADRESSEN zum Kleinbuchstaben, der Eliminierung "." durchgeführt werden kann und ".." Segmente und das Hinzufügen des Schleppens von Hieben zum nichtleeren Pfad-Bestandteil.

Das Pfad ersteigende Kriechen

Einige Kriecher haben vor, so viele Mittel wie möglich von einer besonderen Website herunterzuladen. So wurde Pfad ersteigendes Kettenfahrzeug vorgestellt, der zu jedem Pfad in jeder URL-ADRESSE steigen würde, dass es vorhat zu kriechen. Zum Beispiel, wenn gegeben, eine Samen-URL-ADRESSE, wird es versuchen,/hamster/monkey/, / Hamster/, und / zu kriechen. Cothey hat gefunden, dass ein Pfad ersteigendes Kettenfahrzeug in der Entdeckung isolierter Mittel oder Mittel sehr wirksam war, für die keine Inbound-Verbindung im regelmäßigen Kriechen gefunden worden sein würde.

Viele Pfad ersteigende Kettenfahrzeuge sind auch bekannt als Webernten-Software, weil sie verwendet werden, um den ganzen Inhalt — vielleicht die Sammlung von Fotos in einer Galerie — von einer spezifischen Seite oder Gastgeber "zu ernten" oder zu sammeln.

Besuchen Sie Politik wieder

Das Web hat eine sehr dynamische Natur, und das Kriechen eines Bruchteils des Webs kann Wochen oder Monate nehmen. Als ein Webkettenfahrzeug sein Kraul beendet hat, könnten viele Ereignisse, einschließlich Entwicklungen, Aktualisierungen und Auswischens geschehen sein.

Aus dem Suchmotorgesichtspunkt gibt es Kosten, die mit dem nicht Ermitteln eines Ereignisses vereinigt sind, und so eine überholte Kopie einer Quelle zu haben. Die am meisten verwendeten Kostenfunktionen sind Frische und Alter.

Frische: Das ist ein binäres Maß, das anzeigt, ob die lokale Kopie genau ist oder nicht. Die Frische einer Seite p im Behältnis in der Zeit t wird als definiert:

:

F_p (t) = \begin {Fälle} 1 & {\\rm

wenn} ~p ~ {\\rm~is~equal~to~the~local~copy~at~time} ~t \\0 & {\\rm sonst} \end {Fälle }\

</Mathematik>

Alter: Das ist ein Maß, das anzeigt, wie überholt die lokale Kopie ist. Das Alter einer Seite p im Behältnis, in der Zeit t wird als definiert:

:

A_p (t) = \begin {Fälle} 0 & {\\rm wenn} ~p ~ {\\rm~is~not~modified~at~time} ~t \\t - {\\rm modification~time~of} ~p

&

{\\rm sonst} \end {Fälle }\

</Mathematik>

Coffman u. a. gearbeitet mit einer Definition des Ziels eines Webkettenfahrzeuges, das zur Frische gleichwertig ist, aber eine verschiedene Formulierung verwendet: Sie schlagen vor, dass ein Kettenfahrzeug den Bruchteil von Zeitseiten minimieren muss, bleiben überholt. Sie haben auch bemerkt, dass das Problem des Webkriechens als eine vielfache Warteschlange, Stimmabgabe-System des einzelnen Servers modelliert werden kann, auf dem das Webkettenfahrzeug der Server ist, und die Websites die Warteschlangen sind. Seitenmodifizierungen sind die Ankunft der Kunden, und Wechsel-Zeiten sind der Zwischenraum zwischen Seitenzugängen zu einer einzelnen Website. Unter diesem Modell ist die Mittelwartezeit gegen einen Kunden im abstimmenden System zum durchschnittlichen Alter für das Webkettenfahrzeug gleichwertig.

Das Ziel des Kettenfahrzeuges ist, die durchschnittliche Frische von Seiten in seiner Sammlung so hoch zu behalten wie möglich, oder das durchschnittliche Alter von Seiten so niedrig zu behalten, wie möglich. Diese Ziele sind nicht gleichwertig: Im ersten Fall wird das Kettenfahrzeug gerade damit betroffen, wie viele Seiten überholt sind, während im zweiten Fall das Kettenfahrzeug damit betroffen wird, wie alt die lokalen Kopien von Seiten sind.

Zwei einfache wieder besuchende Policen wurden von Cho und Garcia-Molina studiert:

Gleichförmige Politik: Das schließt ein alle Seiten in die Sammlung mit derselben Frequenz unabhängig von ihren Raten der Änderung wieder zu besuchen.

Proportionale Politik: Das schließt ein öfter die Seiten diese Änderung öfter wieder zu besuchen. Die Besuch-Frequenz ist zur (geschätzten) Änderungsfrequenz direkt proportional.

(In beiden Fällen kann die wiederholte kriechende Ordnung von Seiten entweder in einem zufälligen oder in einer festen Ordnung getan werden.)

Cho und Garcia-Molina haben das überraschende Ergebnis bewiesen, dass, in Bezug auf die durchschnittliche Frische, die gleichförmige Politik die proportionale Politik sowohl in einem vorgetäuschten Web als auch in echtem Webkraul überbietet. Intuitiv besteht das Denken darin, dass, weil Webkettenfahrzeuge eine Grenze dazu haben, wie viele Seiten sie in einem gegebenen Zeitrahmen, (1) kriechen können, sie zu vieles neues Kraul sich schnell ändernden Seiten auf Kosten weniger oft des Aktualisierens von Seiten, und (2) zuteilen werden, dauert die Frische sich schnell ändernder Seiten für die kürzere Periode als diese sich weniger oft ändernder Seiten. Mit anderen Worten teilt eine proportionale Politik mehr Mittel dem Kriechen zu, das oft Seiten aktualisiert, aber erfährt weniger gesamte Frische-Zeit von ihnen.

Um Frische zu verbessern, sollte der Kriecher die Elemente diese Änderung zu häufig bestrafen. Die optimale wieder besuchende Politik ist weder die gleichförmige Politik noch die proportionale Politik. Die optimale Methode, um durchschnittliche Frische zu behalten, schließt hoch das Ignorieren der Seiten ein, die sich zu häufig ändern, und das optimale, um durchschnittliches Alter zu behalten, niedrig Zugriffsfrequenzen verwenden soll, die monotonically (und subgeradlinig) mit der Rate der Änderung jeder Seite vergrößern. In beiden Fällen ist das optimale an der gleichförmigen Politik näher als zur proportionalen Politik: als Coffman u. a. bemerken Sie, "man um minimiert die erwartete Veralten-Zeit, sollten die Zugänge zu jeder besonderen Seite so gleichmäßig unter Drogeneinfluss behalten werden wie möglich". Ausführliche Formeln für die wieder besuchen Politik sind im Allgemeinen nicht erreichbar, aber sie werden numerisch erhalten, weil sie vom Vertrieb von Seitenwechseln abhängen. Cho und Garcia-Molina zeigen, dass der Exponentialvertrieb ein Nutzen ist, der passend ist, um Seitenwechsel, während Ipeirotis zu beschreiben u. a. zeigen Sie, wie man statistische Werkzeuge verwendet, um Rahmen zu entdecken, die diesen Vertrieb betreffen. Bemerken Sie, dass die wieder besuchenden Policen überlegt hier alle Seiten als homogen in Bezug auf die Qualität betrachten ("alle Seiten im Web, sind desselben" wert), etwas, was nicht ein realistisches Drehbuch ist, sollte die so weitere Information über die Webseite-Qualität eingeschlossen werden, um eine bessere kriechende Politik zu erreichen.

Höflichkeitspolitik

Kriecher können Daten viel schneller und in der größeren Tiefe wiederbekommen als menschliche Forscher, so können sie ein Verkrüppeln haben, wirken auf die Leistung einer Seite ein. Selbstverständlich, wenn ein einzelnes Kettenfahrzeug vielfache Bitten pro Sekunde durchführt und/oder große Dateien herunterlädt, würde ein Server harte Zeiten haben, mit Bitten von vielfachen Kettenfahrzeugen Schritt haltend.

Wie bemerkt, durch Koster ist der Gebrauch von Webkettenfahrzeugen für mehrere Aufgaben nützlich, aber kommt mit einem Preis für die allgemeine Gemeinschaft. Die Kosten, Webkettenfahrzeuge zu verwenden, schließen ein:

  • Netzmittel, weil Kettenfahrzeuge beträchtliche Bandbreite verlangen und mit einem hohen Grad des Parallelismus während eines langen Zeitraumes der Zeit funktionieren;
  • Server-Überlastung, besonders wenn die Frequenz von Zugängen zu einem gegebenen Server zu hoch ist;
  • schlecht geschriebene Kettenfahrzeuge, die Server oder Router zertrümmern können, oder die Seiten herunterladen, die sie nicht behandeln können; und
  • persönliche Kettenfahrzeuge, dass, wenn aufmarschiert, durch zu viele Benutzer, Netze und Webserver stören kann.

Eine teilweise Lösung dieser Probleme ist das Roboter-Ausschluss-Protokoll, auch bekannt als robots.txt Protokoll, das ein Standard für Verwalter ist, um anzuzeigen, auf welche Teile ihrer Webserver von Kettenfahrzeugen nicht zugegriffen werden sollte. Dieser Standard schließt keinen Vorschlag für den Zwischenraum von Besuchen in demselben Server ein, wenn auch dieser Zwischenraum die wirksamste Weise ist, Server-Überlastung zu vermeiden. Kürzlich kommerzielle Suchmotoren mögen Fragen, dass Jeeves, MSN und Yahoo im Stande sind, eine zusätzliche "Kraul-Verzögerung zu verwenden:" Parameter in robots.txt Datei, um die Zahl von Sekunden anzuzeigen, um sich zwischen Bitten zu verspäten.

Der erste vorgeschlagene Zwischenraum zwischen Verbindungen war 60 Sekunden. Jedoch, wenn Seiten an dieser Rate von einer Website mit mehr als 100,000 Seiten über eine vollkommene Verbindung mit der Nulllatenz und unendlichen Bandbreite heruntergeladen würden, würde es mehr als 2 Monate bringen, um nur dass komplette Website herunterzuladen; auch, nur ein Bruchteil der Mittel, von denen Webserver verwendet würde. Das scheint annehmbar nicht.

Cho verwendet 10 Sekunden als ein Zwischenraum für Zugänge, und der LEITUNGS-Kriecher verwendet 15 Sekunden als der Verzug. Das Kettenfahrzeug von MercatorWeb folgt einer anpassungsfähigen Höflichkeitspolitik: Wenn es t Sekunden gebracht hat, um ein Dokument von einem gegebenen Server herunterzuladen, wartet der Kriecher auf 10t wenige Sekunden vor dem Herunterladen der folgenden Seite. Dill u. a. verwenden Sie 1 Sekunde.

Für diejenigen, die Webkettenfahrzeuge zu Forschungszwecken verwenden, ist eine ausführlichere Kosten-Nutzen-Analyse erforderlich, und Moralrücksichten sollten in Betracht gezogen werden, wenn man entscheidet, wohin man kriecht, und wie man schnell kriecht.

Anekdotische Beweise vom Zugriffsklotz zeigen, dass sich Zugriffszwischenräume von bekannten Kettenfahrzeugen zwischen 20 Sekunden und 3-4 Minuten ändern. Es lohnt sich, das zu bemerken, selbst wenn, sehr höflich seiend, und den ganzen Schutz nehmend, um zu vermeiden, Webserver zu überladen, einige Beschwerden von Webserver-Verwaltern erhalten werden. Brin und Page bemerken dass: "... das Laufen eines Kettenfahrzeuges, das zu mehr als einer halben Million Servern in Verbindung steht erzeugt (...), einen schönen Betrag der E-Mails und Anrufe. Wegen der riesengroßen Anzahl der Leute, die online kommt, gibt es immer diejenigen, die nicht wissen, wie ein Kettenfahrzeug ist, weil das das erste ist, das sie gesehen haben."

Politik von Parallelization

Ein paralleler Kriecher ist ein Kriecher, der vielfache Prozesse in der Parallele führt. Die Absicht ist, die Download-Rate zu maximieren, während sie die Gemeinkosten von parallelization minimiert und wiederholte Downloads derselben Seite zu vermeiden. Um zu vermeiden, dieselbe Seite mehr herunterzuladen, als einmal verlangt das kriechende System eine Politik, für die neuen während des kriechenden Prozesses entdeckten URL-ADRESSEN zuzuteilen, wie dieselbe URL-ADRESSE durch zwei verschiedene kriechende Prozesse gefunden werden kann.

Architekturen

Ein Kettenfahrzeug muss keine gute kriechende Strategie, wie bemerkt, in den vorherigen Abteilungen nur haben, aber sie sollte auch eine hoch optimierte Architektur haben.

Shkapenyuk und Suel haben dass bemerkt:

Webkettenfahrzeuge sind ein Hauptteil von Suchmotoren, und Details auf ihren Algorithmen und Architektur werden als Geschäftsgeheimnisse behalten. Wenn Kettenfahrzeug-Designs veröffentlicht werden, gibt es häufig einen wichtigen Mangel am Detail, das andere davon abhält, die Arbeit wieder hervorzubringen. Dort erscheinen auch Sorgen über den "Suchmotor spamming", die Hauptsuchmotoren davon abhalten, ihre sich aufreihenden Algorithmen zu veröffentlichen.

Kettenfahrzeug-Identifizierung

Webkettenfahrzeuge identifizieren sich normalerweise zu einem Webserver, indem sie das Benutzer-Agentfeld einer HTTP-Bitte verwenden. Website-Verwalter untersuchen normalerweise ihren Webserver-Klotz und verwenden das Benutzeragent-Feld, um zu bestimmen, welche Kettenfahrzeuge den Webserver und wie oft besucht haben. Das Benutzeragent-Feld kann eine URL-ADRESSE einschließen, wo der Website-Verwalter mehr Information über das Kettenfahrzeug herausfinden kann. Spambots und andere böswillige Webkettenfahrzeuge werden kaum sich identifizierende Information ins Benutzerreagenz-Feld legen, oder sie können ihre Identität als ein Browser oder anderes wohl bekanntes Kettenfahrzeug maskieren.

Es ist für Webkettenfahrzeuge wichtig, sich zu identifizieren, so dass sich Website-Verwalter mit dem Eigentümer wenn erforderlich in Verbindung setzen können. In einigen Fällen können Kriecher in einer Kettenfahrzeug-Falle zufällig gefangen werden, oder sie können einen Webserver mit Bitten überladen, und der Eigentümer muss das Kettenfahrzeug aufhören. Identifizierung ist auch für Verwalter nützlich, die sich für das Wissen interessieren, wenn sie annehmen können, dass ihre Webseiten durch einen besonderen Suchmotor mit einem Inhaltsverzeichnis versehen werden.

Beispiele

Der folgende ist eine Liste von veröffentlichten Kettenfahrzeug-Architekturen für Mehrzweckkettenfahrzeuge (eingestellter Webkettenfahrzeuge ausschließend) mit einer kurzen Beschreibung, die die Namen einschließt, die den verschiedenen Bestandteilen und hervorragenden Eigenschaften gegeben sind:

  • Yahoo! Schlürfen Sie ist der Name des Suchkettenfahrzeuges von Yahoo.
  • Bingbot ist der Name von Bing des Microsofts webcrawler. Es hat Msnbot ersetzt.
  • SCHNELLES Kettenfahrzeug ist ein verteiltes Kettenfahrzeug, das durch die Schnelle Suche & Übertragung verwendet ist, und eine allgemeine Beschreibung seiner Architektur ist verfügbar.
  • Googlebot wird in einem Detail beschrieben, aber die Verweisung ist nur über eine frühe Version seiner Architektur, die in C ++ und Pythonschlange basiert hat. Das Kettenfahrzeug wurde mit dem Indexieren-Prozess integriert, weil Textsyntaxanalyse für das Indexieren des vollen Textes und auch für die URL-ADRESSE-Förderung getan wurde. Es gibt einen URL-ADRESSE-Server, der Listen von durch mehrere kriechende Prozesse herbeizuholenden URL-ADRESSEN sendet. Während der Syntaxanalyse wurden die gefundenen URL-ADRESSEN zu einem URL-ADRESSE-Server passiert, der überprüft hat, ob die URL-ADRESSE vorher gesehen worden ist. Wenn nicht, die URL-ADRESSE wurde zur Warteschlange des URL-ADRESSE-Servers hinzugefügt.
  • PolyBot ist ein verteiltes Kettenfahrzeug, das in C ++ und Pythonschlange geschrieben ist, die aus einem "Kraul-Betriebsleiter", einem oder mehr "downloaders" und ein oder mehr "DNS resolvers" zusammengesetzt wird. Gesammelte URL-ADRESSEN werden zu einer Warteschlange auf der Platte hinzugefügt, und später bearbeitet, um nach gesehenen URL-ADRESSEN in der Gruppe-Weise zu suchen. Die Höflichkeitspolitik denkt sowohl die dritten und zweiten Niveau-Gebiete (z.B: www.example.com und sind www2.example.com die dritten Niveau-Gebiete), weil die dritten Niveau-Gebiete gewöhnlich durch denselben Webserver veranstaltet werden.
  • RBSE war das erste veröffentlichte Webkettenfahrzeug. Es hat auf zwei Programmen basiert: Das erste Programm, ""unterstützt eine Warteschlange in einer Verwandtschaftsdatenbank und das zweite Programm"", ist ein modifizierter ASCII Browser, der die Seiten vom Web herunterlädt.
  • WebCrawler wurde verwendet, um den ersten öffentlich verfügbaren Index des vollen Textes einer Teilmenge des Webs zu bauen. Es hat auf dem Befreiungskampf-WWW basiert, um Seiten und ein anderes Programm herunterzuladen, um URL-ADRESSEN für die Breite die erste Erforschung des Webgraphen grammatisch zu analysieren und zu bestellen. Es hat auch ein Echtzeitkettenfahrzeug eingeschlossen, das Verbindungen gefolgt ist, die auf der Ähnlichkeit des Ankertextes mit der zur Verfügung gestellten Abfrage gestützt sind.
  • Wurm des World Wide Web war ein Kettenfahrzeug, das verwendet ist, um einen einfachen Index von Dokumententiteln und URL-ADRESSEN zu bauen. Der Index konnte durch das Verwenden des Befehls von Unix gesucht werden.
  • WebFountain ist ein verteiltes, modulares Kettenfahrzeug, das Mercator ähnlich ist, aber in C ++ geschrieben ist. Es zeigt eine "Kontrolleur"-Maschine, die eine Reihe von "Ameise"-Maschinen koordiniert. Nach dem wiederholten Herunterladen von Seiten wird eine Änderungsrate für jede Seite abgeleitet, und ein nichtlineares Programmierverfahren muss verwendet werden, um das Gleichungssystem zu lösen, um Frische zu maximieren. Die Autoren empfehlen, diese kriechende Ordnung in den frühen Stufen von Kraul zu verwenden, und dann auf eine gleichförmige kriechende Ordnung umzuschalten, in der alle Seiten mit derselben Frequenz besucht werden.
  • WebRACE ist ein Kriechen, und das Verstecken des Moduls, das in Java durchgeführt ist, und als ein Teil eines allgemeineren Systems verwendet ist, hat eRACE genannt. Das System erhält Bitten von Benutzern, um Webseiten herunterzuladen, so handelt das Kettenfahrzeug teilweise als ein kluger Proxyserver. Das System behandelt auch Bitten um "Abonnements" zu Webseiten, die kontrolliert werden müssen: Wenn sich die Seiten ändern, müssen sie vom Kettenfahrzeug heruntergeladen werden, und der Unterzeichnete muss benachrichtigt werden. Die hervorragendste Eigenschaft von WebRACE ist, dass, während die meisten Kettenfahrzeuge mit einer Reihe von "Samen"-URL-ADRESSEN anfangen, WebRACE unaufhörlich neue Start-URL-ADRESSEN erhält, um davon zu kriechen.

Zusätzlich zu den spezifischen Kettenfahrzeug-Architekturen, die oben verzeichnet sind, gibt es allgemeine Kettenfahrzeug-Architekturen, die von Cho veröffentlicht sind

und Chakrabarti.

Kettenfahrzeuge der offenen Quelle

  • Aspseek ist ein Kettenfahrzeug, indexer und ein Suchmotor, der in C ++ geschrieben ist und unter dem GPL lizenziert ist
  • DataparkSearch ist ein Kettenfahrzeug, und suchen Sie laut der GNU-Lizenz der Breiten Öffentlichkeit veröffentlichten Motor.
  • GNU Wget ist ein Befehl-linienbedientes Kettenfahrzeug, das in C geschrieben ist und unter dem GPL veröffentlicht ist. Es ist normalerweise an das Spiegelweb und die FTP Seiten gewöhnt.
  • MADE ist verteiltes Suchkettenfahrzeug einer offenen Quelle, dass Wikia Search gepflegt hat, das Web zu kriechen.
  • Heritrix ist das Internetarchiv-Kettenfahrzeug der archivalischen Qualität, das entworfen ist, um periodische Schnellschüsse eines großen Teils des Webs zu archivieren. Es wurde in Java geschrieben.
  • ht://Graben schließt ein Webkettenfahrzeug in seinen Indexieren-Motor ein.
  • HTTrack verwendet ein Webkettenfahrzeug, um einen Spiegel einer Website für die Off-Linebetrachtung zu schaffen. Es wird in C geschrieben und unter dem GPL veröffentlicht.
  • ICDL Kettenfahrzeug ist ein Quer-Plattform-Webkettenfahrzeug, das in C ++ geschrieben ist und zu auf Website-Syntaxanalyse-Schablonen gestützten Kraul-Websites mit den freien Zentraleinheitsmitteln des Computers nur beabsichtigt ist.
  • mnoGoSearch ist ein Kettenfahrzeug, indexer und ein Suchmotor, der in C geschrieben ist und unter dem GPL (Maschinen von Linux nur) lizenziert ist
  • Nutch ist ein Kettenfahrzeug, das in Java geschrieben ist und laut einer Apachen-Lizenz veröffentlicht ist. Es kann in Verbindung mit dem Textindexieren-Paket von Lucene verwendet werden.
  • Offener Suchserver ist ein Suchmotor und Webkettenfahrzeug-Softwareausgabe unter dem GPL.
  • Pavuk ist ein Webspiegelwerkzeug der Befehl-Linie mit fakultativem X11 GUI Kettenfahrzeug und veröffentlicht unter dem GPL. Es hat Bündel von fortgeschrittenen Eigenschaften im Vergleich zu wget und httrack z.B, regelmäßiger Ausdruck hat Entstörung und Dateientwicklungsregeln gestützt.
  • PHP-Kettenfahrzeug ist ein einfacher PHP, und MySQL hat unter dem BSD veröffentlichtes Kettenfahrzeug gestützt. Leicht, es zu installieren, ist populär für kleine GeMySQL-steuerte Websites auf der geteilten Bewirtung geworden.
  • der tkWWW Roboter, ein Kettenfahrzeug hat auf dem tkWWW WWW-Browser (lizenziert unter GPL) gestützt.
  • YaCy, ein freier verteilter Suchmotor, hat auf Grundsätze von Gleicher-zu-Gleicher-Netzen (lizenziert unter GPL) gebaut.
  • Sucht ein freier verteilter Suchmotor (lizenziert laut der Affero Lizenz der Breiten Öffentlichkeit).

Das tiefe Web kriechend

Ein riesengroßer Betrag von Webseiten liegt im tiefen oder unsichtbaren Web. Diese Seiten sind normalerweise nur durch das Einreichen von Abfragen zu einer Datenbank zugänglich, und regelmäßige Kettenfahrzeuge sind unfähig, diese Seiten zu finden, wenn es keine Verbindungen gibt, die zu ihnen hinweisen. Das Sitemaps Protokoll und mod von Google oai sind beabsichtigt, um Entdeckung dieser Mittel des tiefen Webs zu erlauben.

Tiefes Web, das auch kriecht, multipliziert die Zahl von zu kriechenden Webverbindungen. Einige Kettenfahrzeuge nehmen nur etwas - gestaltete URL-ADRESSEN. In einigen Fällen, wie Googlebot, wird das Webkriechen auf dem ganzen Text getan, der innerhalb des Hypertext-Inhalts, der Anhängsel oder des Textes enthalten ist.

Kriechendes Web 2.0 Anwendungen

Siehe auch

  • Verteiltes Web, das kriecht
  • Eingestelltes Kettenfahrzeug
  • Suchen Sie das Motorindexieren - der Schritt nach dem Kriechen
  • Spambot
  • Spinne-Falle
  • Spidering Kerben - ein Buch von O'Reilly hat sich auf einer Spinne ähnliche Programmierung konzentriert
  • Web, archivierend
  • Website-Widerspiegeln-Software
  • Website-Syntaxanalyse-Schablone
  • Web, das kratzt
  • Webgraph

Weiterführende Literatur


William Gibson / Flügel des Wunsches
Impressum & Datenschutz