Les 11 meilleurs conseils pour éviter d'être bloqué ou interdit d'IP lors d'une recherche sur le Web

Ștefan Răcila le 07 avril 2023

blog-image

Le web scraping est un outil puissant qui permet d'extraire des données précieuses des sites web. Il permet d'automatiser le processus de collecte des données, ce qui représente un gain de temps considérable pour les entreprises comme pour les particuliers. Cependant, un grand pouvoir s'accompagne d'une grande responsabilité. Si vous ne faites pas attention, vous risquez de voir votre adresse IP bannie ou bloquée par le site web que vous scrapez.

Dans cet article, je vais partager 11 conseils détaillés sur la façon de faire du scraping sur le web sans être bloqué ou blacklisté. En suivant ces conseils, vous apprendrez à protéger votre identité lors du scraping, à respecter les conditions d'utilisation des sites web et à programmer vos requêtes pour éviter de submerger le site web cible avec un trop grand nombre de requêtes.

Pourquoi êtes-vous bloqué ?

Le web scraping n'est pas toujours autorisé car il peut être considéré comme une violation des conditions d'utilisation d'un site web. Les sites web ont souvent des règles spécifiques concernant l'utilisation d'outils de "web scraping". Ils peuvent l'interdire complètement ou imposer des restrictions sur la manière dont les données peuvent être récupérées et sur leur nature. En outre, le scraping d'un site web peut faire peser une lourde charge sur les serveurs du site web, ce qui peut ralentir le site web pour les utilisateurs légitimes.

Vous pouvez rencontrer des problèmes lorsque vous récupérez des informations sensibles telles que des informations personnelles ou des données financières. Cela peut entraîner de graves problèmes juridiques ainsi que des violations potentielles des lois sur la protection de la vie privée et des données.

En outre, certains sites web ont mis en place des mesures anti-scraping afin de détecter et de bloquer les scrapers. L'utilisation du scraping peut être considérée comme une tentative de contourner ces mesures, ce qui serait également interdit.

En général, il est important de toujours respecter les conditions d'utilisation d'un site web et de s'assurer que le scraping est éthique et légal. Si vous n'êtes pas certain que le scraping est autorisé, il est toujours bon de vérifier auprès de l'administrateur du site ou de l'équipe juridique.

1. Respecter les conditions d'utilisation du site

Avant de procéder au scraping d'un site web, il est important de lire et de comprendre les conditions d'utilisation du site. Celles-ci figurent généralement dans le pied de page du site ou sur une page distincte intitulée "Conditions d'utilisation" ou "Exclusion des robots". Il est important de respecter toutes les règles et réglementations énoncées dans les conditions d'utilisation.

2. Attention au fichier "robots.txt".

Le protocole d'exclusion des robots (REP) est une norme utilisée par les sites web pour communiquer avec les robots d'indexation et autres agents automatisés, tels que les racleurs. Le REP est mis en œuvre à l'aide d'un fichier appelé "robots.txt" qui est placé sur le serveur du site web. Ce fichier contient des instructions à l'intention des robots d'indexation et d'autres agents automatisés qui leur indiquent les pages ou les sections du site web auxquelles il ne faut pas accéder ou qui ne doivent pas être indexées.

Le fichier robots.txt est un simple fichier texte qui utilise une syntaxe spécifique pour indiquer quelles parties du site web doivent être exclues de l'exploration. Par exemple, le fichier peut contenir des instructions pour exclure toutes les pages d'un certain répertoire ou toutes les pages contenant un certain type de fichier. Un robot d'exploration ou un scraper qui respecte le REP lira le fichier robots.txt lorsqu'il visitera un site web et n'accédera pas ou n'indexera pas les pages ou les sections qui sont exclues du fichier.

A titre d'exemple, vous pouvez trouver le fichier robots.txt de notre site web ici.

3. Utiliser des mandataires

Il y a plusieurs raisons pour lesquelles vous pouvez utiliser un proxy lorsque vous faites du web scraping. Un proxy vous permet d'acheminer vos requêtes via une adresse IP différente. Cela permet de dissimuler votre identité et de rendre plus difficile le suivi de votre activité de scraping par les sites web. En faisant tourner votre adresse IP, il est encore plus difficile pour un site web de détecter et de bloquer votre scraper. Il semblera que les demandes proviennent de différents endroits.

Contourner les restrictions géographiques

Certains sites web peuvent avoir des restrictions géographiques, n'autorisant l'accès qu'à certains utilisateurs en fonction de leur adresse IP. En utilisant un serveur proxy situé dans la zone cible, vous pouvez contourner ces restrictions et accéder aux données.

Éviter les interdictions d'IP

Les sites web peuvent détecter et bloquer les demandes qui arrivent trop rapidement, il est donc important d'espacer vos demandes et d'éviter d'en envoyer trop à la fois. L'utilisation d'un proxy peut vous aider à éviter les interdictions d'IP en envoyant les demandes par l'intermédiaire de différentes adresses IP. Même si une adresse IP est bannie, vous pouvez continuer à faire du scraping en passant par une autre.

4. Faites pivoter votre adresse IP

La rotation d'adresse IP est une technique utilisée dans le cadre du web scraping pour dissimuler votre identité et rendre plus difficile la détection et le blocage de votre scraper par les sites web. La rotation des adresses IP consiste à utiliser une adresse IP différente pour chaque requête adressée à un site web. En faisant tourner les adresses IP, vous pouvez faire en sorte que votre activité de scraping ressemble davantage à un trafic humain normal.

Il existe deux façons principales d'assurer la rotation des adresses IP lors du scraping :

Utilisation d'un pool d'adresses IP proxy

Cette méthode consiste à utiliser un ensemble d'adresses IP provenant de différents serveurs proxy. Avant d'adresser une requête à un site web, le scraper sélectionne au hasard une adresse IP du pool à utiliser pour cette requête.

Utilisation d'un service de rotation de proxy

Cette méthode consiste à utiliser un service qui fait automatiquement tourner l'adresse IP pour chaque demande faite à un site web. Le service maintient un pool d'adresses IP et attribue automatiquement une adresse IP différente à chaque requête. Cette méthode de rotation des adresses IP peut s'avérer plus pratique, car vous n'avez pas besoin de gérer le pool d'adresses IP et vous pouvez laisser le service s'en charger pour vous.

La rotation des adresses IP peut également contribuer à accélérer le scraping, car les demandes peuvent être envoyées simultanément par plusieurs adresses IP.

5. Utiliser un navigateur sans tête

Pour éviter d'être limité lors du web scraping, vous voulez que vos interactions avec le site web cible donnent l'impression que des utilisateurs normaux visitent les URL. L'utilisation d'un navigateur web sans tête est l'un des meilleurs moyens d'y parvenir.

Un navigateur sans tête est un navigateur sans interface utilisateur graphique qui peut être contrôlé par programme ou par ligne de commande. Cela vous permet d'interagir avec un site web comme si vous y naviguiez manuellement et peut augmenter les chances que votre scraper ne soit pas détecté.

Vous pouvez utiliser Puppeteer ou d'autres suites d'automatisation de navigateur pour intégrer des navigateurs sans tête dans votre crawler ou scraper.

Consultez nos guides approfondis Comment utiliser Puppeteer avec NodeJS et Comment utiliser Selenium avec Python pour en savoir plus sur l'utilisation des navigateurs sans tête.

6. Utiliser de vrais agents utilisateurs

La majorité des navigateurs en ligne populaires, tels que Google Chrome et Firefox, intègrent le mode sans tête. Même si vous utilisez un navigateur officiel en mode sans tête, vous devez faire en sorte que son comportement soit naturel. Pour ce faire, divers en-têtes de requête spéciaux, tels que User-Agent, sont couramment utilisés.

L'agent utilisateur est une chaîne de caractères qui identifie le logiciel, la version et l'appareil à l'origine de la demande. Ces informations peuvent être utilisées par le site web pour déterminer comment répondre à la demande et peuvent également être utilisées pour retracer l'origine de la demande. En utilisant un user-agent qui imite étroitement un navigateur couramment utilisé, vous augmentez les chances que votre scraper ne soit pas détecté.

7. Utiliser un service de résolution de CAPTCHA

Le CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) est une technique utilisée par les sites web pour empêcher le scraping automatisé. Ce test permet de différencier les humains des robots en montrant des défis qui nécessitent un humain pour être relevés. Par exemple, identifier une série de caractères dans une image. Préparez-vous à les traiter lorsqu'ils apparaissent en utilisant un service tiers comme Anti Captcha ou 2Captcha.

Vous pouvez réfléchir à la question de savoir s'il est toujours rentable de récupérer des sites web qui nécessitent une résolution continue des CAPTCHA au fil du temps. Certains de ces fournisseurs de résolution de CAPTCHA sont plutôt lents et coûteux. WebScrapingAPI dispose de mécanismes antibots avancés qui réduisent le nombre de CAPTCHAs rencontrés. Nous utilisons également la résolution automatisée des CAPTCHA comme solution de repli.

8. Ralentir

N'effectuez pas de scraping trop rapidement : si vous envoyez trop de requêtes en peu de temps, un site web peut détecter que vous le scrapez. Cela pourrait bloquer vos demandes. Il est important d'espacer les demandes et d'éviter d'en envoyer trop à la fois.

Ajoutez des délais aléatoires entre vos demandes et vos actions. Vous rendrez le comportement de votre crawler ou scraper plus imprévisible pour le site web cible, réduisant ainsi les chances de détection.

Évitez de récupérer de grandes quantités de données en peu de temps. La récupération d'une grande quantité de données dans un court laps de temps déclenchera les filtres anti-spam du site web, et vous serez bloqué. C'est pourquoi il est important d'échelonner votre scraping et d'éviter de récupérer de grandes quantités de données en un court laps de temps.

9. Attention aux pièges à miel

Sur certains sites web, des pièges à miel sont mis en place. Ces mécanismes sont destinés à attirer les robots dans les pièges tout en passant inaperçus aux yeux des utilisateurs réels.

Les liens qui sont inclus dans le code HTML d'un site web mais qui sont invisibles pour les gens font partie des pièges à miel les plus élémentaires. Pour déterminer si un lien est visible ou non pour les utilisateurs réels, vous pouvez vérifier son style de calcul.

Voici un exemple de code avec deux fonctions qui renvoient une liste de tous les liens visibles sur la page web. La fonction vérifie pour chaque lien si la couleur d'arrière-plan est la même que la couleur du texte. Elle possède également un paramètre appelé "strict". Il indique à la fonction de vérifier si le lien est affiché ou s'il est visible, car tous les liens qui ne sont pas affichés ne sont pas des pièges à miel.

function getComputedBackgroundColor(elem) {

let isTransparent
do {
const bgColor = window.getComputedStyle(elem).backgroundColor
isTransparent = !/rgb\(|[1-9]{1,3}\)'$/.test(bgColor) // you can test this regex on regex101.com

if (isTransparent) {
elem = elem.parentElement
}
} while (isTransparent)

return window.getComputedStyle(elem).backgroundColor
}

function filterLinks(strict) {
let allLinksArray = Array.from(document.querySelectorAll('a[href]'));
console.log('There are ' + allLinksArray.length + ' total links');

let filteredLinks = allLinksArray.filter(link => {
let linkCss = window.getComputedStyle(link);
let isDisplayed = linkCss.getPropertyValue('display') != 'none';
let isVisible = linkCss.getPropertyValue('visibility') != 'hidden';
let computedBgColor = window.getComputedBackgroundColor(link)
let textColor = linkCss.textColor

if (strict) {
if (isDisplayed && isVisible && computedBgColor !== textColor) return link;
} else {
if (computedBgColor !== textColor) return link;
}
});

console.log('There are ' + filteredLinks.length + ' visible links');
}

Généralement, les pièges à miel sont utilisés en combinaison avec des systèmes de suivi capables d'identifier les requêtes automatisées. Ainsi, même si les demandes futures ne proviennent pas de la même adresse IP, le site web sera en mesure de les reconnaître comme étant similaires.

10. Utiliser Google Cache

Google Cache est une fonctionnalité de Google Search qui permet aux utilisateurs d'afficher une version mise en cache d'une page web. Même si le site web d'origine est indisponible ou si la page web a été supprimée. Cette fonction peut s'avérer utile dans le cadre du web scraping, car elle vous permet d'accéder à une page web même si le site web d'origine bloque votre IP ou votre scraper.

Pour accéder à la valeur mise en cache d'une page web, vous devez ajouter le préfixe "https://webcache.googleusercontent.com/search?q=cache :" à l'URL de la page web cible. Par exemple, pour récupérer la page de tarification de WebScrapingAPI, vous pouvez récupérer "https://webcache.googleusercontent.com/search?q=cache:https://www.webscrapingapi.com/pricing".

L'utilisation du cache de Google peut être une bonne alternative pour le scraping, mais il faut garder à l'esprit qu'il peut être limité. Il peut contenir d'anciennes versions des données du site web. La fréquence d'exploration d'un site web par Google est basée sur sa popularité, de sorte que les données peuvent être vraiment obsolètes sur des sites peu populaires.

D'autres mises en garde s'imposent : vous ne pouvez pas vraiment utiliser les paramètres de requête ou les ancres de la page web cible. Par ailleurs, certains sites web peuvent activement demander à Google de ne pas mettre leurs pages en cache.

11. Engager un professionnel

Faire appel à un service de scraping professionnel peut vous aider à éviter les pièges courants du scraping et vous fournir des données propres et fiables. WebScrapingAPI est l'un des meilleurs fournisseurs de scraping qui dispose de l'infrastructure, de la bande passante et du système de rotation des adresses IP nécessaires pour gérer des travaux de scraping à grande échelle.

Gardez à l'esprit que ces conseils sont des lignes directrices générales et non une garantie d'éviter d'être bloqué. Chaque site web est différent et a des politiques anti-scraping différentes. Mais en suivant ces conseils, vous augmenterez les chances que votre scraper fonctionne sans problème et ne soit pas détecté.

Résumé

En conclusion, il est important de pratiquer le web scraping de manière responsable pour éviter d'être bloqué ou inscrit sur une liste noire. En suivant les 11 conseils présentés dans cet article, vous protégerez votre identité. Vous respecterez les conditions d'utilisation du site web et éviterez de le submerger de demandes. N'oubliez pas de toujours faire du scrape de manière éthique et légale. C'est ainsi que vous pourrez vous assurer de ne pas être bloqué par les sites web.

En outre, il est utile d'envisager de faire appel à un service de scraping professionnel. Il peut vous fournir des données propres et fiables et vous aider à éviter les pièges courants du scraping. Un fournisseur de services de scraping professionnel dispose d'outils et de techniques plus avancés pour gérer le scraping web. Ces outils peuvent aider à gérer les CAPTCHA, à traiter les erreurs et à contourner les mesures anti-scraping. Ils peuvent vous faire gagner du temps et de l'argent, et vous aider à rester du bon côté de la loi.

Cela dit, WebScrapingAPI offre une période d'essai de 7 jours, sans carte requise, vous pouvez donc l'essayer.

Nouvelles et mises à jour

Restez au courant des derniers guides et nouvelles sur le web scraping en vous inscrivant à notre lettre d'information.

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Articles connexes

vignette
GuidesComment récupérer les données des produits Amazon : Un guide complet des meilleures pratiques et des outils

Explorez les complexités du scraping des données de produits Amazon avec notre guide approfondi. Des meilleures pratiques aux outils tels que l'API Amazon Scraper, en passant par les considérations juridiques, apprenez à relever les défis, à contourner les CAPTCHA et à extraire efficacement des informations précieuses.

Suciu Dan
avatar de l'auteur
Suciu Dan
15 minutes de lecture
vignette
Cas d'utilisationL'utilisation du Web Scraping pour les données alternatives en finance : Un guide complet pour les investisseurs

Explorez le pouvoir de transformation du web scraping dans le secteur financier. Des données sur les produits à l'analyse des sentiments, ce guide donne un aperçu des différents types de données web disponibles pour les décisions d'investissement.

Mihnea-Octavian Manolache
avatar de l'auteur
Mihnea-Octavian Manolache
13 minutes de lecture
vignette
GuidesLe guide ultime de la recherche d'emploi en ligne, ses avantages et ses inconvénients

La définition et l'utilisation du "job scraping" en ligne. Les avantages et les inconvénients du "job scraping", ainsi que les stratégies et les risques potentiels.

Suciu Dan
avatar de l'auteur
Suciu Dan
8 minutes de lecture