Maskieren Sie Ihre Web-Scraping-Aktivitäten so, dass sie wie normale Browser-Surf-Aktivitäten aussehen?

c# html-agility-pack web-scraping

Frage

Ich verwende das Html Agility Pack und erhalte diesen Fehler. "Der Remote-Server hat einen Fehler zurückgegeben: (500) Interner Serverfehler." auf bestimmten Seiten.

Jetzt bin ich nicht sicher, was das ist, da ich Firefox verwenden kann, um zu diesen Seiten ohne irgendwelche Probleme zu kommen.

Ich habe das Gefühl, dass die Website selbst blockiert und keine Antwort sendet. Gibt es eine Möglichkeit, wie ich meinen HTML-Agility-Pack-Anruf mehr wie einen Anruf machen kann, der von FireFox aufgerufen wird?

Ich habe bereits einen Timer eingestellt, so dass er nur alle 20 Sekunden auf die Website sendet.

Gibt es eine andere Methode, die ich verwenden kann?

Akzeptierte Antwort

Legen Sie einen User-Agent fest , der einem normalen Browser ähnelt. Ein Benutzeragent ist ein HTTP-Header, der vom HTTP-Client (Browser) übergeben wird, um sich gegenüber dem Server zu identifizieren.


Beliebte Antwort

Es gibt viele Möglichkeiten, wie Server Scraping erkennen können und es ist nur ein Wettrüsten zwischen dem Scraper und dem Scrapee (?), Je nachdem, wie schlecht der eine oder andere auf Daten zugreifen will. Einige der Dinge, die Ihnen helfen, unentdeckt zu bleiben, sind:

  1. Stellen Sie sicher, dass alle übergesendeten HTTP-Header mit denen eines normalen Browsers übereinstimmen, insbesondere der Benutzeragent und der URL-Referrer.
  2. Download alle Bilder und CSS-Skripte wie ein normaler Browser würde, in der Reihenfolge eines Browsers würde.
  3. Stellen Sie sicher, dass alle gesetzten Cookies bei jeder weiteren Anfrage gesendet werden
  4. Stellen Sie sicher, dass Anforderungen gemäß den Websites "robots.txt" gedrosselt werden
  5. Stellen Sie sicher, dass Sie keine No-Follow-Links befolgen, da der Server möglicherweise einen Honigtopf einrichten kann, an dem er keine IP-Anfragen mehr bedient
  6. Erhalten Sie eine Reihe von Proxy-Servern, um Ihre IP-Adresse zu variieren
  7. Stellen Sie sicher, dass die Website nicht begonnen hat, Ihnen Captchas zu schicken, weil sie denken, dass Sie ein Roboter sind.

Auch hier könnte die Liste weitergehen, je nachdem, wie anspruchsvoll das Server-Setup ist.



Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum