Vous voulez que vos activités de grattage Web ressemblent à des activités de navigation normales sur un navigateur?

c# html-agility-pack web-scraping

Question

J'utilise le pack d'agilité HTML et je continue à avoir cette erreur. "Le serveur distant a renvoyé une erreur: (500) Erreur interne du serveur." sur certaines pages.

Maintenant, je ne sais pas trop ce que c'est, car je peux utiliser Firefox pour accéder à ces pages sans aucun problème.

J'ai l'impression que le site Web lui-même bloque et n'envoie pas de réponse. Existe-t-il un moyen de faire en sorte que l'appel de mon pack d'agilité HTML ressemble davantage à un appel appelé depuis FireFox?

J'ai déjà programmé une minuterie pour qu'elle n'envoie au site Web que toutes les 20 secondes.

Y a-t-il une autre méthode que je peux utiliser?

Réponse acceptée

Définissez un User-Agent similaire à un navigateur classique. Un agent d'utilisateur est un en-tête http transmis par le client http (navigateur) pour s'identifier auprès du serveur.


Réponse populaire

Les serveurs peuvent détecter le grattage de nombreuses façons et il s’agit tout simplement d’une course aux armements entre le racleur et le racloir (?), En fonction de la volonté de l’un ou de l’autre d’accéder / de protéger des données. Certaines des choses pour vous aider à passer inaperçues sont:

  1. Assurez-vous que tous les en-têtes HTTP envoyés sont identiques à ceux d'un navigateur normal, en particulier l'agent utilisateur et le référent URL.
  2. Téléchargez toutes les images et tous les scripts css comme un navigateur normal, dans l'ordre d'un navigateur.
  3. Assurez-vous que tous les cookies définis sont envoyés à chaque nouvelle demande.
  4. Assurez-vous que les demandes sont limitées en fonction des sites robots.txt
  5. Assurez-vous de ne pas suivre les liens interdits, car le serveur pourrait configurer un pot de miel où ils cesseront de servir vos requêtes ip.
  6. Obtenez un groupe de serveurs proxy pour varier votre adresse IP
  7. Assurez-vous que le site n'a pas commencé à vous envoyer des captchas car ils pensent que vous êtes un robot.

Là encore, la liste pourrait continuer en fonction de la complexité de la configuration du serveur.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi