Dans cet article, nous discuterons des meilleures pratiques de web scraping, et comme je pense que beaucoup d'entre vous y réfléchissent, je vais tout de suite m'adresser à l'éléphant dans la pièce. Est-ce légal ? Très probablement oui.
Les sites de scraping sont généralement légaux, mais pour certains motifs raisonnables (continuez simplement à lire).
Cela dépend aussi de votre situation géographique, et comme je ne suis pas un génie, je ne sais pas où vous vous trouvez, donc je ne peux pas le dire avec certitude. Vérifiez vos lois locales et ne venez pas vous plaindre si nous vous donnons de « mauvais conseils », haha.
Blague à part, dans la plupart des endroits, ça va ; ne soyez simplement pas un a$$hole à ce sujet et restez à l'écart du matériel protégé par le droit d'auteur, des données personnelles et des éléments derrière un écran de connexion.
Nous vous recommandons de suivre ces bonnes pratiques de web scraping :
1. Respectez le fichier robots.txt
Voulez-vous connaître le secret pour scrapper des sites Web en toute tranquillité ? Respectez simplement le fichier robots.txt du site. Ce fichier, situé à la racine d'un site Web, précise quelles pages peuvent être récupérées par les robots et lesquelles sont interdites. Suivre robots.txt est également important car cela peut entraîner le blocage de votre adresse IP ou des conséquences juridiques selon l'endroit où vous vous trouvez.
2. Définissez un taux d'exploration raisonnable
Pour éviter la surcharge, le gel ou le crash des serveurs du site Web, contrôlez le rythme de vos requêtes et intégrez des intervalles de temps. En termes beaucoup plus simples, allez-y doucement avec le taux d'exploration. Pour y parvenir, vous pouvez utiliser Scrapy ou Selenium et inclure des délais dans les requêtes.
3. Rotation des agents utilisateurs et des adresses IP
Les sites Web sont capables d'identifier et de bloquer les robots de scraping en utilisant la chaîne de l'agent utilisateur ou l'adresse IP. Modifiez occasionnellement les agents utilisateurs et les adresses IP et utilisez un ensemble de vrais navigateurs. Utilisez la chaîne de l'agent utilisateur et mentionnez-vous dans une certaine mesure. Votre objectif est de devenir indétectable, alors assurez-vous de bien le faire.
4. Évitez de gratter derrière les pages de connexion
Disons simplement que récupérer des informations derrière une connexion est généralement une erreur. Droite? D'accord? Je sais que beaucoup d'entre vous sauteront cette section, mais quoi qu'il en soit… Essayez de limiter le grattage aux données publiques, et si vous avez besoin de gratter derrière une connexion, demandez peut-être la permission. Je ne sais pas, laissez un commentaire sur la façon dont vous procéderiez. Est-ce que vous grattez des choses derrière une connexion ?
5. Analyser et nettoyer les données extraites
Les données récupérées ne sont souvent pas traitées et peuvent contenir des informations non pertinentes, voire non structurées. Avant l'analyse, il est nécessaire de prétraiter les données et de les nettoyer à l'aide de sélecteurs regex, XPath ou CSS. Faites-le en éliminant la redondance, en corrigeant les erreurs et en gérant les données manquantes. Prenez le temps de le nettoyer car vous avez besoin de qualité pour éviter les maux de tête.
6. Gérer le contenu dynamique
La plupart des sites Web utilisent JavaScript pour générer le contenu de la page, ce qui pose un problème pour les techniques de scraping traditionnelles. Pour obtenir et récupérer les données chargées dynamiquement, vous pouvez utiliser des navigateurs sans tête comme Puppeteer ou des outils comme Selenium. Concentrez-vous uniquement sur les aspects qui présentent un intérêt pour améliorer l’efficacité.
7. Implémenter une gestion robuste des erreurs
Il est nécessaire de corriger les erreurs pour éviter les pannes du programme causées par des problèmes de réseau, une limitation de débit ou des modifications dans la structure du site Web. Réessayez les requêtes ayant échoué, respectez les limites de débit et, si la structure du HTML a changé, modifiez l'analyse. Enregistrez les erreurs et suivez les activités pour identifier les problèmes et comment vous pouvez les résoudre.
8. Respecter les conditions d'utilisation du site Web
Avant de scrapper un site Web, il est conseillé de consulter les conditions d'utilisation du site Web. Certains d’entre eux n’autorisent pas le grattage ou ont des règles et réglementations à suivre. Si les termes sont ambigus, il convient de contacter le propriétaire du site Web pour obtenir plus d'informations.
9. Tenir compte des implications juridiques
Assurez-vous que vous êtes autorisé à récupérer et à utiliser les données légalement, y compris en matière de droits d'auteur et de confidentialité. Il est interdit de récupérer tout matériel protégé par le droit d'auteur ou toute information personnelle d'autrui. Si votre entreprise est concernée par les lois sur la protection des données comme le RGPD, assurez-vous de les respecter.
10. Explorer des méthodes alternatives de collecte de données
Il est recommandé de rechercher d’autres sources de données avant de les supprimer. Il existe de nombreux sites Web qui fournissent des API ou des ensembles de données pouvant être téléchargés, ce qui est beaucoup plus pratique et efficace que le scraping. Alors, vérifiez s’il existe des raccourcis avant de prendre le long chemin.
11. Mettre en œuvre l’assurance qualité et le suivi des données
Identifiez les moyens par lesquels vous pouvez améliorer la qualité des données récupérées. Vérifiez quotidiennement le scraper et la qualité des données pour identifier d’éventuelles anomalies. Mettez en œuvre une surveillance automatisée et des contrôles de qualité pour identifier et éviter les problèmes.
12. Adopter une politique formelle de collecte de données
Pour vous assurer que vous le faites correctement et légalement, mettez en place une politique de collecte de données. Incluez-y les règles, recommandations et aspects juridiques dont votre équipe doit être consciente. Il exclut tout risque d’utilisation abusive des données et garantit que chacun connaît les règles.
13. Restez informé et adaptez-vous aux changements
Le web scraping est un domaine actif qui se caractérise par l'émergence de nouvelles technologies, de problèmes juridiques et de sites Web continuellement mis à jour. Assurez-vous d’adopter la culture de l’apprentissage et de la flexibilité afin d’être sur la bonne voie.
Je termine!
Si vous comptez jouer avec certains des beaux jouets à notre disposition (rendez-vous service et recherchez quelques bibliothèques Python), alors… eh bien, s'il vous plaît, ayez de bonnes manières, et soyez également intelligent si vous choisissez d'ignorer le premier conseil.
Voici quelques-unes des meilleures pratiques dont nous avons parlé :
- Respectez le fichier robots.txt
- Contrôler la vitesse d'exploration
- Faites pivoter votre identité
- Évitez les espaces privés
- Nettoyer et analyser les données
- Gérer efficacement les erreurs
- Soyez bon, respectez les règles
À mesure que les données deviennent de plus en plus précieuses, les web scrapers seront confrontés à un choix :
Respectez le fichier robots.txt, oui ou non ? C'est à vous.
Commentez ci-dessous, que pensez-vous de cela ?