Crawling Le Web est essentiel à la collecte de données publiques. Ces données sont ensuite utilisées pour améliorer les stratégies commerciales et marketing. Être mis sur liste noire lors de la collecte de données est un problème courant pour ceux qui ne savent pas comment explorer un site web sans être bloqués. Nous avons rassemblé une liste de conseils pour rester invisible lors de l'exploration du Web.

Au début, les pages Web détectent robots d'exploration Web et des outils en vérifiant leurs adresses IP, leurs agents utilisateurs, les paramètres de leur navigateur et leur comportement général. Si le site Web le trouve suspect, vous recevez des CAPTCHA. Puis, éventuellement, vos requêtes sont bloquées puisque votre robot est détecté.

Vous y êtes déjà allé ? Vous avez besoin de techniques pratiques de scraping anonyme ? Vous êtes au bon endroit ! Commençons !

Quelques informations sur l'exploration du Web

L'exploration Web consiste essentiellement à cataloguer les informations trouvées sur Internet ou dans des référentiels de données spécifiques. Cette tâche est effectuée par des robots d'exploration Web, souvent appelés « spiders », qui parcourent méthodiquement le World Wide Web pour indexer les informations disponibles.

Les opérations effectuées par les navigateurs Web les plus populaires comme Google, Yahoo ou Bing sont un parfait exemple de l'utilisation de l'exploration Web. Ces navigateurs accèdent systématiquement aux sites Web les uns après les autres, en indexant soigneusement tout le contenu de ces pages Web.

D’un point de vue commercial, toute tentative liée au Web qui privilégie l’indexation des informations plutôt que l’extraction de données relève de la catégorie de l’exploration Web.

11 astuces secrètes pour une exploration Web anonyme

Plongeons-nous en profondeur dans exploration Web anonyme, trouver les meilleures techniques et conseils de confidentialité pour vous assurer de rester caché pendant que vous explorez.

Nous avons rassemblé quelques conseils vraiment étonnants sur la confidentialité des robots d'exploration pour protéger votre identité, respecter les politiques du site Web et effectuer vos explorations de manière éthique et anonyme :

1. Ralentissez le crawl

Une adresse IP a un nombre limité d'actions qui peuvent être effectuées sur le site Web à un moment donné. Lorsqu'un humain accède à une page Web, la vitesse est naturellement inférieure à celle de l'exploration Web. Pour rester caché pendant l'exploration et atténuer le risque d'être bloqué, vous devez ralentir votre vitesse d'exploration. Par exemple, vous pouvez ajouter des pauses aléatoires entre les requêtes ou lancer des commandes d'attente avant d'effectuer une action spécifique.

Raclage Web Les robots récupèrent les données très rapidement, mais il est facile pour un site de détecter votre scraper car les humains ne peuvent pas naviguer aussi vite. Plus vous crawlez vite, pire c'est pour tout le monde. Si un site Web reçoit trop de requêtes, il peut alors gérer le fait qu'il risque de ne plus répondre. Donnez à votre spider un aspect réel en imitant les actions humaines. Placez des appels de veille programmatiques aléatoires entre les requêtes, ajoutez des délais après avoir exploré un petit nombre de pages et choisissez le nombre le plus faible de requêtes simultanées possible. Idéalement, mettez un délai de 10 à 20 secondes entre les clics et ne mettez pas trop de charge sur le site Web, en le traitant correctement.

2. Évitez le scraping d'images

Les images sont des objets volumineux en termes de données qui peuvent souvent être protégés par le droit d'auteur. Non seulement cela nécessite plus de bande passante et d'espace de stockage, mais cela présente également un risque plus élevé de porter atteinte aux droits d'autrui.
De plus, ils sont souvent cachés dans des éléments JavaScript « derrière le chargement différé », ce qui augmente considérablement la complexité du processus d'acquisition de données et ralentit le scraper Web lui-même. Vous devez donc également éviter JavaScript.

3. Utilisez un Crawling API

Crawlbase Crawling API offre une tranquillité d'esprit en automatisant la plupart des tâches qui causent des maux de tête. Vous pouvez soit tout faire vous-même, soit utiliser l'API pour effectuer autant d'exploration que vous le souhaitez.

C'est sans aucun doute l'un des meilleurs conseils de confidentialité pour les robots d'exploration. Crawling API protège votre robot d'exploration Web contre les requêtes bloquées, les échecs de proxy, les fuites d'IP, les pannes de navigateur et les CAPTCHA.

Maintenant, nous allons voir comment vous pouvez utiliser Python 3 pour récupérer des données de Walmart. Pour commencer à exécuter le script, nous devons d'abord collecter certaines informations telles que :

  1. Crawling API URL https://api.crawlbase.com
  2. Votre Crawlbase jeton
  3. URL de Walmart (vente de liquidation dans notre cas)

Nous devons ensuite importer certains modules pertinents.

1
2
3
à partir de urllib.request importer ouvert
à partir de urllib.parse importer citation_plus
importer json

Maintenant que nous avons importé les modules et que nous avons même collecté les informations pertinentes, nous devons transmettre l'URL pour le scraping, l'API de scraping avec certains paramètres comme un jeton pour répondre aux exigences.

1
2
3
url = citation_plus('https://www.walmart.com/browse/home/4044?cat_id=4044&facet=special_offers%3AClearance')

gestionnaire = urlopen('https://api.crawlbase.com/?token=YOUR_TOKEN&format=json&url=' + URL)

Le code complet ressemblera à ceci où nous formaterons le résultat final pour qu'il soit joli.

1
2
3
4
5
6
7
8
9
10
à partir de urllib.request importer ouvert
à partir de urllib.parse importer citation_plus
importer json

url = citation_plus('https://www.walmart.com/browse/home/4044?cat_id=4044&facet=special_offers%3AClearance')

gestionnaire = urlopen('https://api.crawlbase.com/?token=YOUR_TOKEN&format=json&url=' + URL)

parsed_json = json.loads(handler.read())
impression(parsed_json['corps'])

La sortie finale sera affichée dans le panneau de sortie lorsque vous appuyez sur la touche Ctrl + F10 (sous Windows).

Réponse JSON

Nous avons également un disponible bibliothèque pour Python que vous pouvez utiliser à.

4. Respectez le fichier robots.txt

Tout d'abord, vous devez comprendre ce qu'est un fichier robots.txt et quel est son mécanisme. Le fichier robots.txt est basé à la racine du site Web. Il définit les règles d'exploration des parties du site Web qui ne doivent pas être extraites et de la fréquence à laquelle elles peuvent être extraites. Certains sites Web n'autorisent personne à les extraire. Donc, en gros, il indique aux robots des moteurs de recherche quelles pages ou quels fichiers le robot peut ou ne peut pas demander à partir de votre site. Un robot programmé pour suivre les règles définies sur robots.txt suivra par défaut ces règles et récupérera les données. Cela est principalement utilisé pour éviter de surcharger un site Web avec des demandes.

Par exemple, ce fichier robots.txt indique à tous les robots des moteurs de recherche de ne pas indexer le contenu du site Web. Cela se fait en interdisant la racine / de votre site Web.

User-agent: *
Interdit: /

Vous pouvez toujours trouver le fichier robots.txt pour autoriser Bingbot à extraire des données uniquement dans certains cas. En revanche, tous les autres robots sont interdits d'extraction de données. Cependant, comme cela est décidé par le propriétaire du site Web, vous ne pouvez rien faire pour contourner cette règle.

Vous devez également noter que lorsque les propriétaires de sites ne trouvent pas de moyen d'arrêter l'exploration de leurs sites, ils mettent simplement en place des captchas et/ou des validations par SMS pour tous les liens, ce qui gênera sûrement tout humain ou robot lors de l'accès aux liens. Cependant, si votre raison est légitime, vous pouvez toujours procéder de la même manière.

5. Attention aux pièges à miel

Les honeypots installés sont des liens dans le code HTML. Ces liens sont invisibles pour les utilisateurs normaux, mais les scrapers Web peuvent les détecter. Les honeypots sont utilisés pour identifier et bloquer les robots d'exploration Web, car seuls les robots suivraient ce lien. Les honeypots sont des systèmes mis en place pour attirer les pirates informatiques et détecter toute tentative de piratage visant à obtenir des informations.

Certains liens honeypot pour détecter les robots auront le style CSS « ​​display: none » ou une couleur déguisée pour se fondre dans la couleur d'arrière-plan de la page. Cette détection n'est évidemment pas facile et nécessite un travail de programmation important pour être accomplie de la bonne manière ; c'est pourquoi cette technique n'est pas couramment utilisée.

6. Évitez le piège de l'URL de session

Les sessions sont utilisées pour stocker les données des visiteurs pour cette visite uniquement. La plupart des frameworks utilisent des sessions. Chaque session obtient généralement un identifiant unique (12345zxcv dans l'exemple : “https://www.example.com/?session=12345zxcv“). Les données de session, comme on le sait, sont stockées dans des cookies. Un identifiant de session apparaît si les données de session ne sont pas stockées dans un cookie pour certaines raisons, comme une mauvaise configuration du serveur.

Chaque visite d'un robot d'exploration constitue une « nouvelle visite » et obtient un nouvel identifiant de session. La même URL explorée deux fois obtiendra 2 identifiants de session différents et 2 URL différentes. Chaque fois qu'un robot d'exploration explore une page, tous les liens avec le nouvel identifiant de session ressembleront à de nouvelles pages, ce qui entraînera une explosion d'URL prêtes à être explorées.

Pour éviter le piège de l'URL de session, visitez simplement votre site Web, désactivez les cookies et cliquez sur quelques liens. Si un identifiant de session apparaît dans l'URL, vous êtes vulnérable au piège de l'URL de session. Le robot d'exploration SEO sur page de MarketingTracer est conçu pour détecter ce piège d'exploration. Vérifiez simplement votre index d'exploration et filtrez sur « session ».

7. Vérifiez si le site Web modifie la mise en page

Exploration Web anonyme Cela peut être difficile pour certains sites Web qui connaissent bien les scrapers et peut être un peu délicat car ils peuvent avoir plusieurs mises en page. Par exemple, certains ensembles de pages peuvent avoir une mise en page différente de celle affichée par le reste. Pour éviter cela, vous pouvez avoir des chemins ou des sélecteurs CSS différents pour extraire les données. Ou comment vous pouvez ajouter une condition dans votre code pour extraire ces pages différemment.

8. Comment les sites Web détectent-ils et bloquent-ils le scraping Web ?

Les sites Web utilisent différentes techniques pour différencier un robot d'indexation ou un scraper Web d'une personne réelle. Certains de ces mécanismes sont précisés ci-dessous :

  1. Taux de téléchargement/trafic inhabituellement élevé : notamment à partir d'un seul client/ou d'une seule adresse IP sur une courte période.
  2. Tâches répétitives effectuées selon le même modèle de navigation : basé sur l’hypothèse selon laquelle un utilisateur humain n’effectuera pas les tâches répétitives à chaque fois.
  3. Vérifier si votre navigateur est réel : Une simple vérification consiste à essayer d'exécuter JavaScript. Des outils plus intelligents peuvent aller plus loin en vérifiant vos GPU et CPU pour s'assurer que vous utilisez un véritable navigateur.
  4. Détection avec des pots de miel : Les pots de miel sont généralement des liens invisibles pour un utilisateur normal, mais uniquement pour une araignée. Lorsqu'une araignée ou un scraper Web tente d'accéder au lien, les alarmes se déclenchent.

Vous devrez peut-être consacrer un peu de temps à l'étude préalable des risques de scraping du site Web afin d'éviter de déclencher un mécanisme anti-scrape et de créer un robot d'exploration en conséquence.

9. Utilisez les API de résolution de Captcha :

Lorsque vous commencez à scraper des sites Web à grande échelle, vous finirez par être bloqué. Vous commencerez à voir des pages CAPTCHA avant les pages Web classiques. Des services comme Anticaptcha ou 2Captcha permettent de contourner ces restrictions.

Pour exploration Web anonyme des sites Web qui utilisent Captcha, il est préférable de rechercher des services Captcha car ils sont comparativement moins chers que les solveurs Captcha personnalisés, ce qui est utile lors de l'exécution de scrapings à grande échelle.

10. Évitez de gratter derrière un formulaire de connexion :

Les formulaires de connexion pour les plateformes privées comme Facebook, Instagram et LinkedIn envoient des informations de connexion ou des cookies avec les demandes d'affichage de la page, ce qui permet à un site Web cible de voir plus facilement les demandes entrantes provenant de la même adresse. Un scraper devrait le faire à chaque demande et cela pourrait supprimer vos informations d'identification ou bloquer votre compte, ce qui entraînerait le blocage des efforts de scraping Web.

Il est recommandé d'éviter de scraper des sites Web avec des formulaires de connexion pour ne pas être bloqué facilement et Rester caché en rampant. Mais une façon d’éviter cela est d’imiter le comportement humain avec les navigateurs chaque fois qu’une authentification est requise pour obtenir vos données cibles.

11. Changez votre Crawling Comportement:

L'une des meilleures techniques de scraping anonyme pour empêcher un site Web de bloquer automatiquement votre robot d'exploration en raison d'un modèle d'exploration répétitif consiste à introduire une certaine diversité dans votre approche. Si votre robot d'exploration suit systématiquement le même modèle, il devient facile pour le site Web de l'identifier en fonction de ses actions prévisibles.

Il est recommandé d'apporter des modifications occasionnelles au comportement de votre robot d'exploration. Cela peut impliquer des clics aléatoires ou des actions de défilement pour imiter le comportement d'un utilisateur régulier sur le site. Il est également judicieux de prendre le temps d'explorer la structure du site Web en le visitant manuellement avant de lancer une session de scraping approfondie. De cette façon, vous pourrez mieux comprendre comment vous intégrer de manière transparente au flux naturel du site.

Comment savoir si un site Web vous a banni ou bloqué ?

Les signes suivants indiquent que vous ne pouvez pas récupérer les données d'un certain site Web :

  • Réponses d'erreur HTTP 404, 301 ou 50x fréquentes
  • Pages CAPTCHA
  • Retards inhabituels dans la livraison du contenu
    Certaines des réponses d’erreur courantes à vérifier sont :
  • 503 Service Indisponible
  • 429 - Trop de demandes
  • 408 - Délai d'expiration de la demande
  • 403 - Ressource demandée interdite
  • 404 - Introuvable
  • 401 – Client non autorisé
  • 301 - Déplacé définitivement

Est-ce un site Web? Crawling Contre la loi ?

Crawling Le scraping d'un site web n'est généralement pas illégal, tant que vous ne violez pas les conditions d'utilisation du site. Il est important que le scraper web que vous utilisez n'essaie pas de se connecter ou d'accéder à des zones restreintes du site, car cela enfreindrait les conditions d'utilisation du site.

Cependant, il existe une idée fausse selon laquelle le scraping de tous types de données publiques est toujours légal. Certains contenus tels que les images, les vidéos et les articles peuvent être considérés comme des œuvres créatives et sont protégés par les lois sur le droit d'auteur. Vous ne pouvez pas utiliser librement votre scraper Web pour collecter et utiliser ce type de contenu protégé par le droit d'auteur.

Dans certains cas, les conditions d'utilisation de certains sites Web indiquent explicitement que le scraping n'est pas autorisé et, dans ces situations, il peut être considéré comme illégal. Il est donc essentiel de respecter les règles définies par chaque site Web pour garantir que vous récupérez des données en toute légalité.

Conclusion

J'espère que cet article vous a permis d'apprendre de nouvelles techniques de scraping anonyme. Je vous rappelle de respecter le fichier robots.txt. Évitez également d'envoyer des requêtes volumineuses à des sites web plus petits. Vous pouvez également utiliser Crawlbase Crawling API qui détermine tout cela par lui-même pour ne pas perdre votre temps précieux et vous concentrer pour faire les choses à temps et de manière évolutive.