Richtige Etikette für einen Web-Crawler http Anfragen

8

Ich habe einen einfachen Web-Crawler, um alle Seiten von der Sitemap einer Website anzufordern, die ich cachen und indizieren muss. Nach mehreren Anfragen beginnt die Website mit dem Versenden leerer Seiten.

Es gibt nichts in ihrem robots.txt außer dem Link zu ihrer Sitemap, also nehme ich an, dass ich ihre "Regeln" nicht breche. Ich habe einen beschreibenden Header, der genau auf meine Absichten verweist, und die einzigen Seiten, die ich crawle, sind von ihrer Sitemap.

Die http-Statuscodes sind immer noch in Ordnung, daher kann ich mir nur vorstellen, dass sie eine große Anzahl von http-Anfragen in kurzer Zeit verhindern. Was ist eine angemessene Verzögerung zwischen den Anfragen?

Gibt es andere Überlegungen, die ich übersehen habe, die möglicherweise zu diesem Problem führen könnten?

    
Adam 28.04.2009, 16:02
quelle

2 Antworten

9

Jede Website hat verschiedene Crawler- und Missbrauchsmerkmale, nach denen sie sucht.

Der Schlüssel für einen Crawler besteht darin, menschliche Aktivitäten zu emulieren und der robots.txt Folge zu leisten.

Ein erschöpfender Crawl wird einige Websites stolpern, und sie werden Sie herunterfahren, unabhängig davon, wie langsam Sie gehen, während einige Hosts nichts dagegen haben, dass Crawler mitziehen und alles auf einmal aufnehmen.

  • Im Allgemeinen möchten Sie Seiten nicht schneller als 6 pro Minute (über menschliche Geschwindigkeit) anfordern.
  • Sie werden die folgenden Links in der Reihenfolge der Sichtbarkeit auf der Webseite sicherer finden.
  • Versuche, Links zu ignorieren, die auf der Webseite nicht sichtbar sind (viele Leute benutzen Honeypots).

Wenn alles andere fehlschlägt, fordern Sie nicht schneller als eine Seite pro Minute an. Wenn eine Website Sie bei dieser Rate blockiert, kontaktieren Sie sie direkt - sie möchten natürlich nicht, dass Sie ihre Inhalte auf diese Weise verwenden.

    
Adam Davis 28.04.2009, 16:12
quelle
2

Ich denke, Wikipedia hat eine anständige Referenz zu diesem Thema. Gehorche ihnen und Höflichkeit ein bisschen mehr.

Zum Beispiel würde ich wahrscheinlich die Verbindungsgeschwindigkeit mit einem Schlag pro Sekunde maximieren, oder ich würde einen unbeabsichtigten DoS-Angriff riskieren.

    
Henrik Paul 28.04.2009 16:15
quelle

Tags und Links