Comment utiliser des proxys gratuits avec Puppeteer

Comment utiliser des proxys gratuits avec Puppeteer

Comprendre les proxys dans le contexte de Puppeteer

Puppeteer, la boîte à outils du marionnettiste pour Chrome, pirouette avec grâce sur la scène numérique, mais sa danse doit parfois revêtir un manteau, un masque : le proxy. Les proxys gratuits, ces fantômes éphémères disséminés sur le web, peuvent protéger votre adresse IP ou débloquer des contenus géolocalisés. Mais, comme tous les cadeaux de la corne d'abondance d'Internet, ils sont à double tranchant : fragiles, souvent peu fiables, et parfois un chant de sirène pour les imprudents.

Tableau 1 : Types de proxy gratuits et leurs avantages et inconvénients

Type de proxy Description Avantages Inconvénients
HTTP Routes uniquement le trafic HTTP Simple, largement pris en charge Pas de HTTPS, moins sécurisé
HTTPS/SSL Sécurise le trafic HTTP avec SSL/TLS Sécurisé, crypté Parfois plus lent, plus rare
SOCKS4/5 Achemine tout le trafic (TCP), pas seulement HTTP Polyvalent, anonyme Puppeteer a besoin d'une configuration supplémentaire
Transparent Révèle votre IP au serveur de destination Facile à trouver Pas d'anonymat
Anonyme Masque votre IP, mais s'identifie comme un proxy Confidentialité de base Peut encore être bloqué
Élite/Haut Anonyme Masque votre IP, ne s'identifie pas comme un proxy Meilleure confidentialité Le plus difficile à trouver

Étape 1 : Récolter des proxys gratuits

Commençons par la source : la gestion d'une liste de proxys. De nombreux agrégateurs en ligne, tels que Liste de proxy gratuits, déverser des tables d'adresses IP et de ports, comme ceci :

Adresse IP Port Protocole Anonymat Pays 195.154.161.130 8080 HTTP Elite FR 103.216.82.198 6667 HTTPS Anonyme IN

Pour les plus intrépides, il est recommandé d'automatiser la récupération et la validation du proxy, de peur que votre script ne tombe sur une adresse morte et ne s'effondre dans le désespoir numérique.

Étape 2 : Configuration de Puppeteer pour utiliser un proxy

L'incantation est simple, mais la magie est précise. Le marionnettiste accepte --serveur proxy argument au lancement du navigateur :

const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ args: ['--proxy-server=195.154.161.130:8080'] // Remplacez par votre proxy }); const page = await browser.newPage(); await page.goto('https://httpbin.org/ip'); console.log(await page.content()); await browser.close(); })();

Avec cela, la marionnette danse derrière un nouveau masque.

Étape 3 : Authentification : le rituel des informations d’identification du proxy

Certains proxys exigent un tribut : un nom d'utilisateur et un mot de passe. Le Marionnettiste, toujours serviable, peut les fournir via page.authentifier:

const browser = await puppeteer.launch({ args: ['--proxy-server=proxy.example.com:3128'] }); const page = await browser.newPage(); await page.authenticate({ username: 'myuser', password: 'mypassword' }); await page.goto('https://httpbin.org/ip');

Invoquez ceci avant votre première navigation, de peur que les gardiens ne vous barrent l’entrée.

Étape 4 : Rotation à travers les ombres – Utilisation de plusieurs proxys

S'appuyer sur un seul mandataire relève de l'orgueil ; les sages orchestrent une rotation. Voici une chorégraphie minimaliste, passant par une série de mandataires :

const proxies = [ '195.154.161.130:8080', '103.216.82.198:6667', // ... plus de proxies ]; for (const proxy de proxies) { const browser = await puppeteer.launch({ args: [`--proxy-server=${proxy}`] }); const page = await browser.newPage(); await page.goto('https://httpbin.org/ip'); console.log(`Proxy ${proxy}:`, await page.content()); await browser.close(); }

Pour des ballets plus sophistiqués, pensez à la randomisation, aux contrôles de santé et à la récupération d'erreurs.

Étape 5 : Tester et valider l'efficacité du proxy

La promesse d'un proxy est aussi éphémère qu'un rêve d'été. Testez toujours avant de lui faire confiance :

  • Utilisez des points de terminaison comme https://httpbin.org/ip ou https://api.ipify.org pour confirmer votre masquage IP.
  • Respectez les temps de réponse : les proxys gratuits sont souvent lents ou capricieux.
  • Implémentez des délais d’expiration et des nouvelles tentatives dans vos scripts.

Tableau 2 : Liste de contrôle de validation du proxy

Test Exemple d'implémentation de marionnettiste
Changement d'IP Visite https://httpbin.org/ip et analyser la réponse
Prise en charge HTTP(S) Essayez les URL HTTP et HTTPS
Latence Mesure Date.now() avant et après la navigation
Détection de bloc Vérifiez les HTTP 403/429 ou les CAPTCHA dans les réponses
Authentification par proxy Test avec/sans identifiants si nécessaire

Étape 6 : Gestion des échecs de proxy et récupération des erreurs

Le chemin est semé d’embûches ; votre script doit être résilient :

try { await page.goto('https://example.com', {timeout: 30000}); } catch (error) { console.log('Proxy failed:', proxy, error.message); // Facultativement, réessayez avec un nouveau proxy }

Envisagez d’automatiser la suppression du proxy de votre pool en cas d’échec répété, pour éviter les boucles sans fin.

Réflexions sur la sécurité et l'éthique

Les proxys gratuits sont des fleurs sauvages : magnifiques, mais parfois contaminés. N'envoyez jamais de données sensibles via des proxys non fiables ; des espions pourraient rôder à l'autre bout. Utilisez-les uniquement pour la navigation publique ou non sensible. Et toujours, dans l'esprit des philosophes français, respectez le fichier robots.txt et les biens communs numériques.

Tableau 3 : Proxies gratuits et proxys payants

Aspect Proxys gratuits Procurations payantes
Fiabilité Faible, souvent hors ligne Disponibilité élevée et garantie
Vitesse Variable, souvent lent Rapide et cohérent
Anonymat Discutable Solide et configurable
Sécurité Non fiable, risqué Fiable, support disponible
Coût Gratuit Abonnement ou paiement à l'utilisation
Longévité De courte durée À long terme, stable

Annexe : Automatisation de la récupération de la liste de proxys

Une touche poétique pour l'automate : récupérez quotidiennement de nouveaux proxys avec un simple axios demander et analyser avec Salut:

const axios = require('axios'); const cheerio = require('cheerio'); async function fetchProxies() { const res = await axios.get('https://free-proxy-list.net/'); const $ = cheerio.load(res.data); const proxies = []; $('#proxylisttable tbody tr').each((i, row) => { const cols = $(row).find('td'); const ip = $(cols[0]).text(); const port = $(cols[1]).text(); const https = $(cols[6]).text() === 'yes'; proxies.push(`${ip}:${port}`); }); return proxies; }

Laissez vos scripts respirer l'air le plus frais des prairies proxy chaque matin et expirer leurs automatisations Web avec subtilité et élan.

Théophile Beauvais

Théophile Beauvais

Analyste de proxy

Théophile Beauvais est un analyste proxy de 21 ans chez ProxyMist, où il se spécialise dans la conservation et la mise à jour de listes complètes de serveurs proxy du monde entier. Doté d'une aptitude innée pour la technologie et la cybersécurité, Théophile est devenu un membre essentiel de l'équipe, assurant la livraison gratuite de serveurs proxy SOCKS, HTTP, élite et anonymes fiables aux utilisateurs du monde entier. Né et élevé dans la ville pittoresque de Lyon, Théophile'sa passion pour la confidentialité numérique et l'innovation a été éveillée dès son plus jeune âge.

Commentaires (0)

Il n'y a pas encore de commentaires ici, vous pouvez être le premier !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *