In this Article
De nombreuses personnes pensent que les outils d’IA comme ChatGPT ou Gemini effectuent une trop grande part de notre travail, remplacent le véritable effort humain et changent même notre façon de penser et de prendre des décisions. Cela suscite souvent des inquiétudes quant à l’avenir de l’emploi et de la créativité. Mais l’IA est-elle vraiment une menace surestimée, ou n’est-elle qu’un assistant qui nous aide lorsqu’on l’utilise avec discernement ?
Prenons l’exemple du web scraping. Traditionnellement, la création de scrapers nécessitait de solides connaissances en codage, une attention aux détails et des compétences en débogage. Avec ChatGPT, même les débutants peuvent générer des scripts de scraping prêts à l’emploi en quelques secondes, tandis que les professionnels peuvent gagner des heures en laissant l’IA gérer les tâches de codage répétitives. Au lieu de remplacer les développeurs, l’IA fonctionne comme un puissant outil de productivité qui réduit le travail de routine.
Ce type de scraping peut être utile aux chercheurs collectant des données, aux entreprises qui surveillent leurs concurrents ou aux étudiants qui apprennent Python. En combinant la capacité de ChatGPT à écrire et à expliquer du code avec les bibliothèques de scraping de Python, n’importe qui peut créer des scrapers rapides et efficaces.
Les outils clés dont vous avez besoin pour démarrer
Avant de commencer à scraper des pages Amazon avec Python, assurons-nous que notre environnement est correctement configuré. Nous aurons besoin de :
- Visual Studio Code (ou tout autre éditeur de code)
Téléchargez VS Code à partir du site officiel et suivez les instructions d’installation adaptées à votre système d’exploitation. Ensuite, ouvrez-le et installez l’extension Python en cliquant sur l’icône Extensions dans la barre latérale. Ouvrez le dossier dans lequel vous souhaitez créer votre projet en sélectionnant Fichier > Ouvrir le dossier. Créez un nouveau fichier Python pour votre script, par exemple : scraping_gpt_test.py
- Python et ses bibliothèques (Requests, BeautifulSoup)
Si Python 3.x n’est pas installé sur votre ordinateur, vous pouvez le télécharger depuis https://www.python.org/. Vérifiez si Python est installé en exécutant l’une de ces commandes :
python --version
python3 --version
Sur certains systèmes, python renvoie encore à Python 2 ; utilisez donc python3 (et pip3) pour vous assurer d’exécuter Python 3. Pour utiliser les bibliothèques Python, commencez par installer pip avec l’une de ces commandes :
python -m ensurepip
python3 -m ensurepip
Ensuite, ouvrez le terminal de votre ordinateur et installez les bibliothèques Python avec la commande suivante :
pip install requests beautifulsoup4
pip3 install requests beautifulsoup4
Appuyez sur Entrée et vous verrez alors si elles ont bien été installées.
- Compte ChatGPT
Créez un compte OpenAI gratuit ou payant pour accéder à ChatGPT, que vous utiliserez pour écrire, déboguer et améliorer vos scripts de scraping.
- Proxy DataImpulse
Nous intégrerons les proxys en utilisant les identifiants du proxy. Vous pouvez accéder à toutes les informations nécessaires dans le tableau de bord DataImpulse, dans les détails de votre formule.
Vous pouvez également copier les informations requises dans la section Basic URL Example.
- Le site web que vous souhaitez scraper
Dans ce didacticiel, nous utilisons Wikipedia et sa liste des pays par population. N’oubliez pas de remplacer cette URL par celle de votre site cible dans le code.
👉 Suivez toujours les règles : consultez les conditions d’utilisation du site Web et le fichier robots.txt avant de scraper un site, afin de travailler de manière sûre et éthique.
ChatGPT peut-il générer un script de scraping Python ? Testons-le
1. Inspectez la page cible et recherchez les éléments à scraper.
Faites un clic droit sur l’élément souhaité (par exemple, le nom d’un pays ou le chiffre de la population) et choisissez Inspecter dans votre navigateur. Cela ouvrira le panneau Developer Tools. Passez la souris sur le HTML en surbrillance pour vous assurer que vous avez sélectionné le bon élément.
2. Enregistrez le code HTML de ces éléments.
Une fois que vous avez localisé l’élément, faites un clic droit sur le code HTML dans le panneau et copiez le Sélecteur CSS.
3. Créez une invite détaillée pour ChatGPT.
Écrivez une invite qui comprend :
- L’URL cible ;
- Les sélecteurs que vous avez copiés ;
- Les bibliothèques que vous souhaitez utiliser (par exemple, requests, BeautifulSoup);
Mentionnez les proxys et les en-têtes, mais ne communiquez jamais vos identifiants avec ChatGPT.
Collez votre invite dans ChatGPT. Notre invite :
“Créez un scraper Web à l’aide des bibliothèques Python, Beautiful Soup et Requests. Importez le module time. Site Web cible :
https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population
Objectif : Récupérez les pays et leur nombre d’habitants sur la page cible. Utilisez les proxys DataImpulse comme protection supplémentaire. Ajoutez des en-têtes HTTP.
Voici les sélecteurs CSS :
- Country: #mw-content-text > div.mw-content-ltr.mw-parser-output > table > tbody > tr:nth-child(2) > td:nth-child(1) > a
- Population: #mw-content-text > div.mw-content-ltr.mw-parser-output > table > tbody > tr:nth-child(2) > td:nth-child(2)
Sortie : enregistrez toutes les données récupérées dans un fichier CSV.
Instructions supplémentaires : supprimez les symboles indésirables dans la sortie CSV.
Voici la réponse de ChatGPT :
- Vérifiez et exécutez le code final.
Copiez le script dans votre éditeur, puis exécutez-le. Un certain débogage peut être nécessaire si les sélecteurs ou le formatage diffèrent. Si vous utilisez des proxys, incluez toujours En-têtes User-Agent afin d’assurer un accès stable. L’ajout de import time vous permet d’ajouter des délais entre les requêtes (time.sleep()), ce qui permet d’équilibrer la charge des requêtes. Voici le code :
import requests
from bs4 import BeautifulSoup
import csv
import re
import time
# DataImpulse proxy configuration
PROXY = "http://username:[email protected]:8000"
proxies = {
"http": PROXY,
"https": PROXY
}
url = "https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population"
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/119.0.0.0 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
}
# Try with retry logic
for attempt in range(3):
try:
response = requests.get(url, headers=headers, proxies=proxies, timeout=15)
response.raise_for_status()
break
except requests.exceptions.HTTPError as e:
print(f"Attempt {attempt+1}: HTTP error {e}. Retrying...")
time.sleep(2)
else:
raise SystemExit("Failed to fetch the page after retries.")
soup = BeautifulSoup(response.text, "html.parser")
# Locate the first wikitable
table = soup.find("table", {"class": "wikitable"})
rows = table.find_all("tr")
data = []
for row in rows[1:]: # skip header row
cols = row.find_all("td")
if len(cols) >= 2:
country = cols[0].get_text(strip=True)
population = cols[1].get_text(strip=True)
# Clean unwanted symbols
population = re.sub(r"\[.*?\]", "", population) # remove [1], [note] etc.
population = population.replace(",", "").replace("\xa0", " ").strip()
data.append([country, population])
# Save results to CSV
with open("countries_population.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["Country", "Population"])
writer.writerows(data)
print("Scraping completed. Data saved to countries_population.csv")
Une fois le script exécuté, votre terminal VS Code affichera :
Maintenant, ouvrez le fichier countries_population.csv. Vous y trouverez un tableau structuré contenant les pays et leurs populations. Félicitations, vous avez terminé la tâche !
Problèmes courants
Lors du scraping, les choses ne fonctionnent pas toujours comme prévu. Voici quelques problèmes courants :
- Erreur client 403 : Certains sites Web bloquent les requêtes qui ne semblent pas provenir d’un vrai navigateur. Incluez toujours des en-têtes tels que User-Agent, en particulier lorsque vous utilisez des proxys.
- IP bloquée ou limitation du débit : Les requêtes répétées exposent généralement votre IP, et les sites Web peuvent refuser l’accès ou vous imposer des vérifications. Utiliser proxys résidentiels (rapides et fiables, issus de véritables connexions domestiques) ou des proxys mobiles (dynamiques et difficiles à détecter, de la part des opérateurs mobiles) pour réduire les interruptions de vérification.
- Délais d’attente ou réponses lentes : Le site Web ou votre connexion peuvent être lents, entraînant l’échec des requêtes. Ajoutez time.sleep() entre les requêtes et mettez en place une logique de nouvelle tentative.
- Sélecteurs CSS cassés : Les sites Web modifient souvent leur présentation, de sorte que vos sélecteurs enregistrés peuvent cesser de fonctionner. Réinspectez les éléments dans le navigateur et mettez à jour les sélecteurs dans votre script.
- Données désordonnées :
HTML peut contenir des symboles supplémentaires, des valeurs vides ou un formatage inattendu. Nettoyez les données dans Python avant de les enregistrer dans CSV, par exemple, supprimez les caractères spéciaux ou coupez les espaces.
Y a-t-il un avenir pour le web scraping assisté par l’IA ?
Une réponse simple : oui. Les outils d’IA comme ChatGPT ne remplacent pas les développeurs ; ils renforcent leurs capacités. Ces outils gèrent les tâches de codage répétitives, génèrent rapidement des scripts de scraping et suggèrent des solutions aux erreurs courantes. Le scraping assisté par l’IA aidera les professionnels à travailler plus rapidement, à rester efficaces et à se concentrer sur une analyse de niveau supérieur plutôt que sur un codage manuel. Pourtant, il est important de maintenir l’équilibre.
Bien sûr, même avec l’IA, il est important d’agir de manière responsable. Utilisez des proxys fiables, respectez les limites de débit et suivez les conditions d’utilisation d’un site Web pour les pratiques de scraping éthiques.
*Ce tutoriel est strictement destiné à des fins éducatives. Il démontre les techniques de scraping Web. Il n’est pas destiné à encourager ou à demander à quiconque de scraper des sites web en violation de leurs conditions d’utilisation ou des lois applicables. Assurez-vous toujours que vos activités de scraping sont éthiques, légales et respectueuses des règles du site web.










