AliExpress est l'une des plus grandes marketplaces du web, et les données produits, prix et recherche qu'elle expose sont réellement utiles si vous faites de la veille marché, du suivi de prix concurrentiels ou que vous construisez un outil de sourcing. Le problème est qu'AliExpress se défend vigoureusement contre le trafic automatisé : attaquez-la depuis une seule IP de datacenter à n'importe quel volume réel et vous récoltez des limites de débit, des CAPTCHA et des bannissements d'IP au lieu de données. Ce guide vous montre comment faire du scraping proxy AliExpress en Python en routant les requêtes via le Crawlbase Smart AI Proxy pour que la collecte reste anonyme et non bloquée.

L'ensemble du guide se limite aux données publiques : titres de produits, prix, images, messages d'expédition et compteurs de ventes que n'importe qui peut voir sur une page de résultats de recherche sans se connecter. Il ne touche pas aux comptes utilisateurs, au contenu derrière une connexion, aux actions de paiement ou aux données personnelles. La section sur la légalité vers la fin n'est pas un remplissage de formulaire, lisez-la avant de pointer ce scraper sur un volume de production.

Pourquoi vous avez besoin d'un proxy pour scraper AliExpress

AliExpress, comme la plupart des grandes plateformes e-commerce, traite le trafic automatisé comme une menace. Trois défenses entravent un scraper naïf, et un proxy rotatif est ce qui neutralise les trois.

Blocages IP. Envoyez trop de requêtes depuis une adresse et AliExpress la throttle ou la bannit purement et simplement. Une seule IP statique ne peut tout simplement pas soutenir un volume de scraping significatif.

CAPTCHA. Quand le trafic semble scripté, AliExpress le met en défi avec un CAPTCHA conçu pour séparer les humains des bots. Une IP signalée continue à recevoir des défis jusqu'à ce que vous la remplaciez par rotation.

Détection de bots. Au-delà des simples compteurs de requêtes, la plateforme analyse l'empreinte des schémas de requêtes pour repérer l'automatisation. Un trafic prévisible à haute fréquence depuis la même origine est le schéma le plus facile à signaler.

Un pool de proxies résidentiels rotatifs répond aux trois : chaque requête peut partir d'une IP d'utilisateur réel différente, de sorte qu'aucune adresse ne déclenche de limite de débit, ne reste bloquée derrière un CAPTCHA ou ne se démarque comme un bot. Vous pouvez assembler ce pool vous-même, mais sourcer des IP résidentielles saines et maintenir la logique de rotation en fonctionnement représente l'essentiel du travail. Le Smart AI Proxy Crawlbase intègre tout ça dans un seul point d'accès sur lequel vous redirigez votre client HTTP existant.

Comment le Crawlbase Smart AI Proxy s'intègre

Le Smart AI Proxy est un seul point d'accès proxy placé devant toute l'infrastructure de crawl de Crawlbase. Au lieu de réécrire votre code autour d'une nouvelle API, vous définissez une URL de proxy et vos appels requests habituels la traversent. Derrière ce point d'accès, il effectue le travail qu'un stack proxy fait maison accomplirait :

  • Rotation automatique des IP. L'IP d'origine change entre les requêtes, puisant dans un large pool d'adresses résidentielles et de datacenter, vous permettant de contourner les limites de débit et les bannissements sans gérer la rotation vous-même. Les mécanismes sont les mêmes que n'importe quelle configuration de proxy résidentiel rotatif, simplement gérés côté serveur.
  • Routage du trafic et équilibrage de charge. Les requêtes sont réparties sur de nombreux serveurs proxy pour qu'aucun ne soit surchargé, ce qui maintient un débit stable lors d'une longue exécution.
  • Transfert vers la Crawling API. Le Smart AI Proxy passe vos requêtes à la Crawling API, vous héritez donc de la plupart des capacités de cette API, notamment le rendu côté serveur et les contrôles de paramètres couverts ci-dessous, sans appeler l'API directement.

Le bénéfice pratique pour AliExpress est que vous cessez de combattre la couche anti-bot. Votre scraper envoie une requête simple à une seule URL de proxy ; le proxy gère l'IP, la rotation et le routage pour que la page revienne au lieu d'un blocage.

Smart AI Proxy vs Crawling API

Les deux atteignent le même backend de crawl. La différence est la forme d'intégration. Le Smart AI Proxy est un point d'accès proxy que vous intégrez dans n'importe quel outil qui parle HTTP proxies, donc le code existant fonctionne sans changement. La Crawling API est une API HTTP que vous appelez directement quand vous écrivez du code de zéro. Ce guide utilise le Smart AI Proxy parce que le scraper AliExpress est un script requests standard.

Tester le proxy avec une commande curl

Avant d'écrire du Python, confirmez que le proxy fonctionne avec une seule commande. D'abord créez un compte Crawlbase et ouvrez votre tableau de bord Smart AI Proxy pour copier votre token d'authentification proxy. Puis exécutez ce qui suit, en remplaçant USER_TOKEN par ce token.

bash
curl -x "http://[email protected]:8012" -k "https://www.aliexpress.com/w/wholesale-macbook-pro.html"

Plusieurs choses se passent ici. Le flag -x route la requête via le Smart AI Proxy, qui écoute sur smartproxy.crawlbase.com au port 8012. Votre token est le nom d'utilisateur dans l'URL du proxy et le mot de passe est laissé vide. Le flag -k indique à curl d'ignorer la vérification du certificat SSL, ce qui est nécessaire lors du tunneling HTTPS via le proxy ; sans lui la négociation entre curl et le proxy peut échouer. En cas de succès vous récupérez le HTML brut de la page de recherche AliExpress.

Ajouter des paramètres pour affiner la requête

Comme le Smart AI Proxy transfère vers la Crawling API, vous pouvez envoyer des paramètres de la Crawling API via un en-tête spécial nommé CrawlbaseAPI-Parameters. C'est ainsi que vous indiquez au proxy exactement comment traiter une requête plutôt que d'accepter les valeurs par défaut.

Le plus utile pour ce travail est scraper=aliexpress-serp. Au lieu de renvoyer du HTML brut, il exécute le parser AliExpress intégré de Crawlbase pour les résultats de recherche et vous remet du JSON propre et structuré, vous évitant d'écrire et de maintenir des sélecteurs.

bash
curl -H "CrawlbaseAPI-Parameters: scraper=aliexpress-serp" \
  -x "http://[email protected]:8012" -k \
  "https://www.aliexpress.com/w/wholesale-macbook-pro.html"

Ce seul en-tête transforme un dump HTML encombrant en données produits organisées. Nous utiliserons le même paramètre depuis Python dans un instant.

Configurer le projet Python

Vous avez besoin de Python 3 installé. Si c'est la première fois, installez-le depuis python.org et confirmez la version. Créez ensuite un dossier de projet et ajoutez un fichier de script.

bash
python --version

mkdir aliexpress-scraper && cd aliexpress-scraper
touch aliexpress.py

Vous n'avez besoin que d'un seul paquet tiers. La bibliothèque requests gère HTTP et supporte les proxies nativement, et json est fourni avec la bibliothèque standard Python, donc il n'y a rien à installer pour lui.

bash
pip install requests

Récupérer une page via le Smart AI Proxy

Commencez par confirmer que le proxy fonctionne depuis Python avant de parser quoi que ce soit. Ouvrez aliexpress.py et ajoutez le code ci-dessous, en remplaçant votre token. Le schéma reflète la commande curl : votre token et un mot de passe vide deviennent les identifiants proxy, et les schémas http et https routent tous les deux via la même URL Smart AI Proxy.

python
import requests

username = "USER_TOKEN"
password = ""
proxy_auth = f"{username}:{password}"

url = "https://www.aliexpress.com/w/wholesale-macbook-pro.html"
proxy_url = f"http://{proxy_auth}@smartproxy.crawlbase.com:8012"
proxies = {"http": proxy_url, "https": proxy_url}

response = requests.get(url=url, proxies=proxies, verify=False)

print("Status:", response.status_code)
print(response.text[:500])

Trois détails importent. Le dictionnaire proxies indique à requests d'envoyer chaque requête via le Smart AI Proxy. L'argument verify=False désactive la vérification SSL pour la même raison que -k dans curl ; pour un service de production longue durée, vous géreriez les certificats correctement plutôt que de désactiver la vérification. Lancez avec python aliexpress.py et vous devriez voir un statut 200 et le premier morceau de HTML AliExpress, ce qui confirme que le proxy route correctement.

Crawlbase AliExpress Scraper

AliExpress bloque le trafic aux allures de scraper rapidement. Le Smart AI Proxy est un seul point d'accès sur lequel vous dirigez vos appels requests : il fait tourner les IP résidentielles et de datacenter côté serveur, gère le routage et transfère vers la Crawling API pour que les CAPTCHA et les bannissements d'IP ne soient plus votre problème. Intégrez-le au code que vous avez déjà et pointez-le sur une page publique sur le niveau gratuit d'abord.

Parser les résultats en JSON structuré

Le HTML brut est difficile à manipuler. Plutôt que d'écrire des sélecteurs CSS contre le balisage AliExpress qui change sans préavis, appuyez-vous sur le parser intégré en envoyant le paramètre scraper=aliexpress-serp en tant qu'en-tête. Le proxy renvoie du JSON propre au lieu de HTML, et json.loads le transforme en dictionnaire Python que vous pouvez parcourir.

python
import requests
import json

username = "USER_TOKEN"
password = ""
proxy_auth = f"{username}:{password}"

url = "https://www.aliexpress.com/w/wholesale-macbook-pro.html"
proxy_url = f"http://{proxy_auth}@smartproxy.crawlbase.com:8012"
proxies = {"http": proxy_url, "https": proxy_url}

headers = {"CrawlbaseAPI-Parameters": "scraper=aliexpress-serp"}

response = requests.get(url=url, proxies=proxies, headers=headers, verify=False)

data = json.loads(response.text)
print(json.dumps(data, indent=4))

La réponse est un objet JSON dont le tableau body.products contient une entrée par annonce. Un exemple condensé ressemble à ceci :

json
{
  "original_status": 200,
  "cb_status": 200,
  "body": {
    "products": [
      {
        "title": "5 In 1 USB C Hub Type C to 4K HD Adapter for Macbook Pro",
        "price": { "current": "$1.27" },
        "url": "https://www.aliexpress.com/item/1005005653517644.html",
        "image": "https://ae04.alicdn.com/kf/Sbffa8b7a90564cff8.jpg",
        "shippingMessage": "Free shipping",
        "soldCount": 207
      }
    ],
    "relatedSearches": []
  }
}

Chaque produit porte les champs que vous voulez vraiment pour la recherche : titre, prix actuel, URL produit, image, message d'expédition et compteur de ventes. Le parser renvoie aussi une liste relatedSearches que vous pouvez utiliser pour découvrir des requêtes adjacentes.

Choisir la bonne URL de résultats

Les résultats de recherche AliExpress se trouvent à /w/wholesale-<keyword>.html. Remplacez le mot-clé dans ce chemin pour scraper une requête différente, et utilisez un sous-domaine régional (par exemple spécifique à un pays) si vous voulez les prix et l'expédition dans une locale particulière. Gardez le slug URL-compatible en reliant les mots-clés composés par des tirets.

Sauvegarder les données dans un fichier JSON

Afficher dans la console convient pendant le développement, mais vous voulez les résultats sur disque. Ajoutez quelques lignes pour écrire le dictionnaire parsé dans un fichier afin de pouvoir l'analyser plus tard ou le charger dans un pipeline.

python
import requests
import json

username = "USER_TOKEN"
password = ""
proxy_auth = f"{username}:{password}"

url = "https://www.aliexpress.com/w/wholesale-macbook-pro.html"
proxy_url = f"http://{proxy_auth}@smartproxy.crawlbase.com:8012"
proxies = {"http": proxy_url, "https": proxy_url}
headers = {"CrawlbaseAPI-Parameters": "scraper=aliexpress-serp"}

response = requests.get(url=url, proxies=proxies, headers=headers, verify=False)
data = json.loads(response.text)

with open("scraped_data.json", "w") as json_file:
    json.dump(data, json_file, indent=4)

print("Saved scraped_data.json")

Les deux nouvelles lignes font le travail : open(...) crée scraped_data.json en mode écriture, et json.dump y sérialise le dictionnaire parsé. C'est un scraper AliExpress complet et exécutable : il récupère une page de recherche via un proxy rotatif, la parse en données structurées et persiste le résultat.

Passer le scraper à l'échelle

Une page de recherche est une démonstration. Un vrai travail s'étend sur de nombreux mots-clés ou pages et doit rester fiable et dans les limites de tolérance du site. Quelques pratiques font passer le script d'une seule exécution à un travail de production.

  • Boucler sur de nombreuses requêtes. Encapsulez la récupération dans une fonction qui prend un mot-clé, construisez l'URL /w/wholesale-<keyword>.html à partir de lui, et itérez une liste de termes de recherche en collectant les lignes au fur et à mesure.
  • Passer à la concurrence. Récupérer une URL à la fois est lent. Envoyez des requêtes en parallèle avec concurrent.futures, ou passez à asyncio et aiohttp pour un débit plus élevé. Le Smart AI Proxy fait tourner les IP par requête, donc la concurrence ne concentre pas la charge sur une seule adresse.
  • Gérer les erreurs gracieusement. Encapsulez chaque requête dans un try/except, vérifiez response.status_code avant de parser, et ajoutez une tentative avec backoff pour les échecs transitoires afin qu'une mauvaise réponse ne fasse pas planter toute l'exécution.
  • Utiliser un vrai store à volume. Les fichiers JSON plats conviennent pour démarrer, mais pour de grands jeux de données, écrivez les lignes dans une base de données comme PostgreSQL ou MySQL avec une indexation appropriée.

La rotation est la seule pièce que vous n'avez pas à construire, puisque le Smart AI Proxy donne à chaque requête une IP fraîche depuis son pool. Le cadre plus large pour rester non bloqué à grande échelle se trouve dans comment scraper des sites sans se faire bloquer.

Est-il légal de scraper AliExpress ?

Que le scraping d'AliExpress soit autorisé dépend des conditions d'utilisation de la plateforme, de votre juridiction et de ce que vous faites des données. Les conditions d'AliExpress restreignent l'accès automatisé, donc le scraping peut aller à l'encontre de ces conditions quelle que soit la prudence de vos outils. Aucun code ici ne change cela ; il fait seulement fonctionner la partie technique.

Quelques lignes à tenir. Collectez uniquement les données publiques : titres de produits, prix, images, messages d'expédition et notes que n'importe qui peut voir sur une page de recherche sans compte. Respectez le fichier robots.txt du site et ses attentes en matière de débit, et maintenez votre volume de requêtes assez bas pour ne pas surcharger les serveurs de quiconque. Si vous prévoyez de réutiliser les données commercialement, obtenez une permission ou un accord de données officiel plutôt que de supposer que le silence vaut consentement. Et ne collectez jamais de données personnelles, y compris tout ce qui est lié aux comptes d'acheteurs ou de vendeurs individuels.

Ce guide se limite délibérément aux données d'annonces publiques parce que c'est la ligne qui rend le travail défendable. Il ne couvre pas ce qui se trouve derrière une connexion, les données de compte ou de profil, les messages, l'historique des commandes, ou toute action qui contourne l'authentification. Si votre projet nécessite plus que les annonces publiques, la bonne démarche est une API officielle ou un accord de données avec la plateforme, pas un scraper plus ingénieux.

Récapitulatif

Points clés

  • AliExpress bloque les scrapers rapidement. Les bannissements IP, les CAPTCHA et la détection de bots rendent une seule IP statique inopérante, vous routez donc les requêtes via un proxy rotatif.
  • Le Smart AI Proxy est un point d'accès drop-in. Pointez vos appels requests sur une seule URL de proxy et il fait tourner les IP et transfère vers la Crawling API côté serveur, sans réécriture de code.
  • Évitez les sélecteurs avec le parser intégré. Envoyez scraper=aliexpress-serp dans l'en-tête CrawlbaseAPI-Parameters et le proxy renvoie du JSON structuré propre au lieu de HTML brut.
  • Sauvegardez et passez à l'échelle. Persistez les résultats en JSON ou base de données, puis bouclez sur les mots-clés, ajoutez de la concurrence et gérez les erreurs pour passer d'une démo à un travail de production.
  • Restez sur les données publiques. Respectez les CGU et le robots.txt d'AliExpress ; pas de comptes, pas de données personnelles, pas d'actions contournant l'authentification.

Foire aux questions

Pourquoi ai-je besoin d'un proxy pour scraper AliExpress ?

AliExpress bloque le trafic automatisé avec des bannissements IP, des CAPTCHA et de la détection de bots, donc une seule IP statique est throttlée ou bannie presque immédiatement à tout volume réel. Un proxy rotatif donne à chaque requête une IP d'utilisateur réel différente, de sorte qu'aucune adresse ne déclenche de limite de débit ou ne reste bloquée derrière un défi. Le Crawlbase Smart AI Proxy gère cette rotation pour vous derrière un seul point d'accès.

Quelle est la différence entre le Smart AI Proxy et la Crawling API ?

Les deux atteignent le même backend de crawl Crawlbase ; ils diffèrent par leur mode d'intégration. Le Smart AI Proxy est un point d'accès proxy que vous intégrez dans n'importe quel outil qui parle HTTP proxies, donc le code existant fonctionne sans changement. La Crawling API est une API HTTP que vous appelez directement quand vous écrivez du code de zéro. Ce guide utilise le Smart AI Proxy parce que le scraper est un script Python requests standard.

Comment obtenir des données structurées au lieu de HTML brut ?

Envoyez le paramètre scraper=aliexpress-serp dans un en-tête de requête CrawlbaseAPI-Parameters. Comme le Smart AI Proxy transfère vers la Crawling API, cela exécute le parser AliExpress intégré de Crawlbase et renvoie du JSON propre avec le titre, le prix, l'URL, l'image, le message d'expédition et le compteur de ventes de chaque produit, vous n'écrivez ni ne maintenez donc jamais de sélecteurs CSS.

Pourquoi dois-je désactiver la vérification SSL avec le proxy ?

Le tunneling du trafic HTTPS via le Smart AI Proxy nécessite d'ignorer la vérification du certificat local, ce qui correspond au flag -k dans curl et à verify=False dans Python requests. Sans cela, la négociation entre votre client et le proxy peut échouer. Pour un service de production longue durée, configurez la gestion des certificats correctement plutôt que de désactiver la vérification purement et simplement.

Puis-je utiliser le Smart AI Proxy pour des sites autres qu'AliExpress ?

Oui. Le Smart AI Proxy est un point d'accès proxy rotatif à usage général, il fonctionne donc pour la plupart des sites publics, pas seulement AliExpress. Le parser scraper=aliexpress-serp est spécifique à AliExpress, mais le proxy lui-même route les requêtes vers n'importe quelle cible. D'autres sites ont leurs propres parsers, ou vous pouvez récupérer du HTML brut et le parser vous-même.

Est-il légal de scraper AliExpress ?

Cela dépend des conditions d'utilisation d'AliExpress, de votre juridiction et de votre objectif, et leurs conditions restreignent l'accès automatisé. Limitez-vous strictement aux données d'annonces publiques, respectez le robots.txt et les attentes en matière de débit, et ne touchez jamais aux comptes, aux données personnelles ou aux actions qui contournent l'authentification. Pour la réutilisation commerciale, obtenez une permission ou un accord de données officiel plutôt que de vous appuyer sur un scraper.

Commencer à construire

Crawlez n'importe quel site à grande échelle, sans combattre l'infrastructure.

Crawlbase gère les proxies, les empreintes et les CAPTCHA afin que votre équipe livre des pipelines de données au lieu de maintenir la plomberie de crawl. 1 000 requêtes gratuites, sans carte requise.

En libre-service · Sans appel commercial requis · Volumes de crawl entreprise disponibles