Comment utiliser ChatGPT pour le Web Scraping en 2024

Photo of author
Écrit par Mallory Lebel

Se sentir libre de concilier "vie privée" et "vie numérique" sans intrusion.

Ma page Facebook

Il n’y a pas si longtemps, OpenAI a réalisé une percée majeure dans le domaine de l’IA conversationnelle en mettant à la disposition du public un chatbot avancé (ChatGPT).

ChatGPT utilise GPT-4, un grand modèle de langage, pour gérer ingénieusement les conversations. Il est entraîné sur des quantités massives de données et peut aider à résoudre des problèmes dans plusieurs domaines.

Dans cet article, nous allons démontrer l’utilisation de ChatGPT pour développer des web scrapers Python entièrement fonctionnels. Nous discuterons également de quelques conseils et astuces importants pour améliorer la qualité du code d’un scraper.

Scraping avec ChatGPT : Un tutoriel étape par étape

Avant de passer au sujet proprement dit, présentons brièvement notre cible de démonstration pour ce tutoriel.

Nous allons extraire des données de l’Oxylabs Sandbox, un magasin de commerce électronique factice qui collecte des données publiques à grande échelle grâce à des solutions de web scraping avec proxy.

Etapes nécessaires pour récupérer les données de cette page web à l’aide de ChatGPT

  1. Créez un compte ChatGPT : Visitez la page de connexion de ChatGPT et cliquez sur Sign-up. Vous avez également la possibilité de vous inscrire en utilisant votre compte Google. Une fois l’inscription réussie, vous serez redirigé vers la fenêtre de chat. Vous pouvez initier un chat en saisissant votre requête dans le champ de texte.
  2. Localisez les éléments à récupérer : Avant de lancer le ChatGPT, localisons d’abord les éléments que nous devons extraire de la page cible. Supposons que nous n’ayons besoin que des titres et des prix des jeux vidéo.
  3. Cliquez avec le bouton droit de la souris sur l’un des titres de jeu et sélectionnez « Inspecter » . Le code HTML de cet élément s’ouvre alors dans la fenêtre des outils de développement.
  4. Cliquez avec le bouton droit de la souris sur l’élément et sélectionnez « Copier le sélecteur » avec le titre du jeu.

Notez le sélecteur et répétez l’opération pour trouver le sélecteur de l’élément Prix.

Menu contextuel de développement web ouvert.

Préparez le prompt ChatGPT : Le prompt doit être bien expliqué, précisant :

  • le langage de programmation du code,
  • les outils et bibliothèques à utiliser,
  • les sélecteurs d’éléments,
  • la sortie
  • et toute instruction spéciale à laquelle le code doit se conformer.

Voici un exemple de prompt que vous pouvez utiliser pour créer un scraper web en utilisant Python et BeautifulSoup

Écrire un scraper web en utilisant Python et BeautifulSoup.

Exemple de cible : https://sandbox.oxylabs.io/products

But : Récupérer les titres et les prix de tous les jeux vidéo sur la page cible.

Les sélecteurs CSS sont les suivants :

  • 1. Titre : #__next > main > div > div > div > div:nth-child(2) > div > div:nth-child(1) > a.card-header.css-o171kl.eag3qlw2 > h4
  • 2. Prix : #__next > main > div > div > div > div:nth-child(2) > div > div:nth-child(1) > div.price-wrapper.css-li4v8k.eag3qlw4

Résultat : Enregistrer tous les titres et les prix de tous les jeux vidéo dans un fichier CSV.

Instructions supplémentaires : Gérer l’encodage des caractères et supprimer les symboles indésirables dans le fichier CSV de sortie.

Nous avons fourni des sélecteurs CSS pour les prix et les titres que nous avons copiés à l’étape précédente.

Les données récupérées peuvent contenir quelques caractères bizarres s’ils ne sont pas traités correctement en raison de problèmes d’encodage. Cela se produit lorsque la page web et le script Python interprètent différemment l’encodage des caractères. On peut ajouter des instructions supplémentaires pertinentes pour éviter ces problèmes d’encodage.

Examinez le code

Une fois que ChatGPT a répondu avec un code, c’est toujours une bonne idée de l’examiner d’abord.

Passez en revue le code s’il semble faire ce que vous voulez qu’il fasse. Vérifiez qu’il n’utilise pas de bibliothèques ou de paquets que vous souhaiteriez exclure.

Si vous trouvez des problèmes inhérents, écrivez à ChatGPT et demandez à générer le code à nouveau.

Gestion du contenu dynamique

L'application NordVPN pour vous rendre anonyme

  1. Fait transiter votre connexion internet par le biais de n'importe quel pays (+ de 5000 destinations)
  2. Changez votre adresse IP
  3. Chiffrez votre connexion
  4. Eliminez les publicités
  5. Connectez-vous à Tor sans trace
  6. Contournez les barrières mises en place par les fournisseurs d'accès internet
  7. Supprimez les malwares et les publicités
Accéder à NordVPN

Certains sites web produisent du contenu dynamique en utilisant des bibliothèques Javascript ou des requêtes AJAX pour produire le contenu. ChatGPT peut vous aider à naviguer dans ce type de contenu web complexe.

Vous pouvez demander à ChatGPT les techniques pour obtenir le contenu dynamique de ces pages rendues en Javascript.

  1. ChatGPT peut offrir des suggestions sur l’utilisation de navigateurs sans tête,
  2. l’analyse du HTML dynamique,
  3. ou même l’automatisation des interactions en utilisant des actions simulées de l’utilisateur.

Particularités de ChatGPT

Les grands modèles de langage (LLM), tels que GPT-4, qui alimente ChatGPT, sont sujets au problème d’hallucination. Cela signifie que ChatGPT peut renvoyer des réponses qui sont factuellement incorrectes ou incohérentes avec la réalité.

Il faut donc assimiler les limites de ChatGPT. Bien qu’il ait été entraîné de manière intensive sur une quantité massive de données, il peut, dans certains cas, produire des extraits de code qui ne conviennent pas à une exécution directe. Il faut bien examiner et vérifier la réponse de ChatGPT et le code qui en résulte avant de l’exécuter.

Limites à l’utilisation de ChatGPT pour le web scraping

De nombreux sites web ont mis en place des mesures de sécurité strictes pour empêcher les robots d’accéder aux sites.

En général, les sites utilisent des CAPTCHAs et une limitation du taux de requête pour empêcher le scraping automatisé. Par conséquent, les simples scrapeurs générés par ChatGPT peuvent échouer sur ces sites. La rotation des proxy et le contournement des CAPTCHA sont des moyens pour contourner cette restriction.

Autre solution : utiliser un VPN et changer de serveur régulièrement.

Quelques conseils pour les codeurs

Optimisation du code

  1. Vous pouvez demander à Chatgpt des conseils sur la manière d’utiliser des cadres et des progiciels qui accélèrent le scraping web
  2. d’utiliser des techniques de mise en cache
  3. d’exploiter la concurrence ou le traitement parallèle, et de minimiser les appels réseau inutiles

Gestion des pages web dynamiques

Certains sites web utilisent des astuces spéciales pour afficher des informations, comme l’utilisation de JavaScript. ChatGPT peut vous aider à gérer ces pages web délicates.

Il peut offrir des suggestions sur l’utilisation de navigateurs sans tête ou même sur l’automatisation des interactions en utilisant des actions simulées de l’utilisateur.

Code

Un code propre et soigné est plus facile à lire et à utiliser. ChatGPT peut vous aider à mettre de l’ordre dans votre code en vous suggérant des bonnes pratiques et en détectant les erreurs possibles.

Vous pouvez également lui demander de nettoyer votre code en utilisant la phrase lint the code dans vos instructions.

Code WordPress

Aide à l’édition de code

ChatGPT peut vous aider à éditer du code. Si le code ne fait pas ce que vous voulez ou donne des résultats erronés, demandez à ChatGPT d’effectuer des changements.

Publicité NordVPN avec offre anniversaire.

Vous pouvez fournir des indications sur la manière dont vous souhaitez modifier le code. Il peut suggérer des améliorations ou vous donner de nouvelles options de code.

Récupérer anonymement des données sur des sites web

Comme expliqué dans notre précédent article, le Web Scraping est la technique qui consiste à extraire automatiquement des données d’un site web à l’aide d’un logiciel ou d’un script.

L’un des principaux problèmes auxquels vous pouvez être confronté lorsque vous essayez d’extraire des données de sites web à l’aide de techniques automatisées est que le serveur web bloque l’IP de votre ordinateur, vous empêchant ainsi de charger ses pages. De nombreux sites web ont mis en place des mécanismes pour détecter l’extraction automatisée de données à l’aide de logiciels et bloquer l’IP des ordinateurs à partir desquels ils sont exécutés.

Par ailleurs, lorsque vous récupérez des données, il se peut que vous ne souhaitiez pas révéler votre identité (détails du réseau) aux serveurs web distants.

La meilleure solution pour éviter le blocage et protéger votre vie privée consiste à utiliser des serveurs proxy ou un réseau privé virtuel (VPN) lorsque vous scrapez des données

Ceux-ci vous permettent de rester anonyme pendant que vous scrappez des données et d’éviter d’être bloqué.

De même, sélectionnez l’option « Désactiver les cookies pendant l’exploration » dans les paramètres du navigateur. Les sites web peuvent obtenir des détails sur vos visites précédentes en utilisant les cookies stockés localement par le navigateur.

Vous pouvez également utiliser un VPN au lieu de proxys pour surfer sur des sites web de manière anonyme.

Paramètres de proxy d'un logiciel informatique.

Scraper à l’aide d’un serveur proxy

Un serveur proxy unique ou une liste de serveurs proxy peut être utilisé pour le web scraping. Il existe des serveurs proxy gratuits et payants sur internet. Vous pouvez les trouver en effectuant une recherche sur Google.

Les proxy gratuits disponibles sont souvent lents et peu fiables, et peuvent entraîner l’arrêt prématuré du processus de minage. Pour cette raison, nous ne recommandons pas l’utilisation de proxy gratuits.

Conclusion

ChatGPT a fait de l’écriture de simples web scrapers une tâche triviale. Mais les particularités fondamentales du modèle d’intelligence artificielle qui alimente ChatGPT peuvent donner des résultats particuliers.

De même, il n’apporte aucune aide significative pour contourner les CAPTCHA. Il ne dispose pas non plus du matériel nécessaire pour fournir des proxy web et un scraping plus évolutif.

⇒ Cliquez pour lire :

Questions fréquemment posées

Peut-on utiliser ChatGPT pour scraper des sites web ?

Étant un modèle de langage d’IA, ChatGPT ne peut pas directement scraper des données de sites web publics. Cependant, il peut aider à écrire du code de web scraping.

Le web scraping est-il anonyme ?

Le degré d’anonymat lors du web scraping peut varier. Dans la plupart des cas, cela dépend de l’utilisation du proxy et des modèles de scraping.

Comment puis-je rester anonyme lorsque je fais du web scraping ?

Il existe de nombreuses façons d’améliorer l’anonymat lors de la collecte de données sur le web, notamment par l’utilisation de serveurs proxy, la rotation des adresses IP et la mise en œuvre d’une logique de collecte qui aidera le scrapeur à ressembler à un utilisateur organique.

Maquillez votre adresse IP

⇒ Être anonyme sur internet

Nordvpn bannière maquiller votre adresse ip

Laisser un commentaire