Passer au contenu principal
Dans le contexte d’une lutte de plus en plus intense entre les crawlers et les anti-crawlers, les systèmes de détection des risques des grands sites web et des applications deviennent de plus en plus robustes, l’une des mesures étant le blocage d’IP. Pour résoudre le problème du blocage d’IP, une méthode efficace consiste à configurer un proxy. Une fois le proxy configuré, le crawler peut utiliser l’IP du proxy pour masquer sa véritable adresse IP, contournant ainsi les restrictions anti-crawlers. Cependant, la qualité des proxies varie, par exemple, la plupart des proxies gratuits disponibles sur le marché sont presque tous inutilisables ou déjà bloqués, tandis que certains proxies payants ordinaires ont également été ajoutés aux listes noires des systèmes de détection des risques des grands sites et applications. Par conséquent, le nombre de proxies de haute qualité utilisables pour le scraping de données est de plus en plus limité. Actuellement, les types de proxies de qualité relativement élevée disponibles sur le marché incluent les proxies dédiés, les proxies ADSL et les proxies mobiles cellulaires. Ce service de proxy est basé sur un service de proxy tournant utilisant le réseau mobile cellulaire (4G, 5G). Ce document présentera la méthode de demande et d’utilisation de ce service.

Proxy mobile cellulaire

Le proxy mobile cellulaire est en fait un service de proxy construit sur la base des données mobiles, tous les IP de proxy étant de véritables IP de téléphone. Ce type de proxy est relativement peu utilisé dans le domaine du scraping, ce qui réduit également la probabilité d’être bloqué. Ainsi, ce type de proxy est très efficace pour le scraping de certains sites et applications avec des systèmes de détection des risques très stricts. Ce service de proxy repose sur un service de proxy construit sur un grand pool de téléphones contrôlés en masse, tout le trafic étant redirigé via de véritables données mobiles, prenant en charge presque toutes les demandes de données des sites et applications disponibles sur le marché, avec une qualité de proxy extrêmement élevée, capable de réduire considérablement la probabilité de détection des risques.

Méthode de demande

Pour utiliser le service de proxy cellulaire, vous pouvez d’abord vous rendre sur la « page de demande » pour faire une demande, la première demande ayant un quota gratuit de 1 point. Si vous n’êtes pas encore connecté, vous serez automatiquement redirigé vers la page de connexion. Une fois connecté, vous pouvez continuer à faire votre demande.

Méthode d’utilisation

Une fois la demande terminée, vous pouvez consulter le résultat de votre demande dans le « tableau de bord », comme illustré ci-dessous : Cliquez sur « Credentials » pour voir le nom d’utilisateur et le mot de passe pour utiliser le service de proxy cellulaire, séparés par un deux-points, où le nom d’utilisateur est de 8 caractères et le mot de passe est de 32 caractères, comme illustré ci-dessous : Ce proxy mobile cellulaire est un proxy tournant, donc lors de son utilisation, il suffit de configurer une adresse de proxy fixe et un port. L’adresse et le port du proxy sont respectivement cellular.proxy.acedata.cloud et 30000. Ce proxy prend en charge les protocoles HTTP/HTTPS/SOCKS et peut être utilisé pour faire des requêtes sur des sites utilisant les protocoles HTTP et HTTPS.

Test de commande

Une fois que vous avez le nom d’utilisateur et le mot de passe du proxy, la méthode la plus simple est de tester via la ligne de commande curl. Si vous ne l’avez pas encore installé, veuillez consulter https://curl.se/ pour l’installation. Si le nom d’utilisateur et le mot de passe du proxy actuel sont 1f78266a:eff0896726224fa2a99fe82dd1f07562, vous pouvez effectuer un test avec la commande curl suivante :
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@cellular.proxy.acedata.cloud:30000 https://ipinfo.io
Ici, nous utilisons le paramètre -x de curl pour spécifier l’adresse du proxy, le protocole de proxy par défaut étant HTTP/HTTPS. L’URL demandée est https://ipinfo.io, ce site peut renvoyer l’adresse IP réelle de la requête et la région où se trouve l’IP.
Remarque : le nom d’utilisateur et le mot de passe ci-dessus peuvent être invalides, veuillez les remplacer par votre nom d’utilisateur et mot de passe.
Le résultat de l’exécution est le suivant :
{
  "ip": "39.144.10.182",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
On peut voir que le pays dans le résultat retourné est CN, représentant la Chine, et l’org est China Mobile, représentant le réseau mobile chinois, ce qui confirme qu’il s’agit bien d’une sortie de proxy cellulaire. Si vous exécutez à nouveau, vous obtiendrez des résultats différents, chaque requête ayant une sortie IP aléatoire.

Intégration de code

Voici un exemple en Python montrant comment configurer ce proxy tournant cellulaire :
import requests

proxy = 'http://{proxy_username}:{proxy_password}@cellular.proxy.acedata.cloud:30000'

proxies = {
    'http': proxy,
    'https': proxy
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io', proxies=proxies)
    print(resp.text)

Ici, nous déclarons d’abord l’URL du proxy et la définissons comme variable proxy, le protocole étant HTTP, suivi du nom d’utilisateur et du mot de passe du proxy tournant (c’est-à-dire le nom d’utilisateur et le mot de passe affichés dans le tableau de bord, séparés par un deux-points), suivi d’un symbole @, puis de l’adresse et du port du proxy. Ensuite, nous déclarons une variable proxies, configurant deux paires clé-valeur, avec les noms de clé http et https, dont les valeurs sont toutes proxy, représentant que pour les sites utilisant les protocoles HTTP et HTTPS, la requête sera effectuée via le proxy défini par la variable proxy. Enfin, nous définissons une boucle de trois itérations pour tester le proxy, l’URL demandée étant https://ipinfo.io, ce site peut renvoyer l’adresse IP réelle de la requête et la région où se trouve l’IP. Le résultat de l’exécution est le suivant :
{
  "ip": "39.144.18.26",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.18.26",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.182.55",
  "city": "Zhanjiang",
  "region": "Guangdong",
  "country": "CN",
  "loc": "21.2339,110.3875",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "524000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
On peut voir que chaque fois que l’on exécute le résultat, l’IP du proxy est aléatoire et que la région de l’IP provient effectivement d’un trafic mobile réel. Bien sûr, la méthode de configuration du proxy ci-dessus est en réalité une méthode relativement simple. En réalité, le code ci-dessus équivaut à définir un en-tête supplémentaire lors de la requête - Proxy Authorization, donc le code ci-dessus peut également être réécrit comme suit :
import requests
import base64

proxy_host = 'cellular.proxy.acedata.cloud'
proxy_port = '30000'
proxy_username = '{proxy_username}' # 8 caractères de nom d'utilisateur
proxy_password = '{proxy_password}' # 32 caractères de mot de passe

credentials = base64.b64encode(
    f'{proxy_username}:{proxy_password}'.encode()).decode()

proxies = {
    'http': f'http://{proxy_host}:{proxy_port}',
    'https': f'http://{proxy_host}:{proxy_port}'
}

headers = {
    'Proxy-Authorization': f'Basic {credentials}'
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io',
                        proxies=proxies, headers=headers)
    print(resp.text)

On peut voir ici que nous avons défini le nom d’utilisateur et le mot de passe du proxy via l’en-tête de requête Proxy-Authorization (qui doit être encodé en Base64), et le résultat de l’exécution de ce code est le même. Pour d’autres langages, comme JavaScript avec axios, on peut également utiliser une méthode de configuration similaire :
const axios = require("axios");
const base64 = require("base64");

const proxy_host = "cellular.proxy.acedata.cloud";
const proxy_port = "30000";
const proxy_username = "{proxy_username}"; // 8 caractères de nom d'utilisateur
const proxy_password = "{proxy_password}"; // 32 caractères de mot de passe

const credentials = base64.encode(`${proxy_username}:${proxy_password}`);

const proxies = {
  http: `http://${proxy_host}:${proxy_port}`,
  https: `http://${proxy_host}:${proxy_port}`,
};

const headers = {
  "Proxy-Authorization": `Basic ${credentials}`,
};

for (let i = 0; i < 3; i++) {
  axios
    .get("https://ipinfo.io", { proxies, headers })
    .then((resp) => console.log(resp.data))
    .catch((err) => console.error(err));
}
Le résultat de l’exécution est le même. Pour les méthodes de configuration d’autres langages, veuillez vous référer au texte ci-dessus pour les réécrire vous-même.

Acheter plus

Si votre forfait est épuisé, vous devez en acheter davantage pour continuer à utiliser ce service de proxy. Pour acheter plus, veuillez vous rendre sur la «page de demande» et cliquer directement sur le bouton «Acheter plus» pour sélectionner, plus vous achetez en une seule fois, moins le prix unitaire est cher.