Outils proxy gratuits compatibles avec Puppeteer et Playwright

Outils proxy gratuits compatibles avec Puppeteer et Playwright

Outils proxy gratuits compatibles avec Puppeteer et Playwright

Pourquoi utiliser des proxys avec Puppeteer et Playwright ?

Puppeteer et Playwright sont de puissantes bibliothèques d'automatisation de navigateur pour Node.js, largement utilisées pour le scraping web, les tests et la navigation headless. Cependant, des opérations intensives peuvent déclencher des mécanismes anti-bots ou des limitations de débit. L'intégration de proxys permet :

  • Faites pivoter les adresses IP pour réduire les risques de blocage.
  • Contourner les restrictions géographiques.
  • Distribuez les demandes pour un débit d'extraction de données plus élevé.

Aperçu des sources proxy gratuites

Source Taper Prise en charge HTTPS Fréquence de mise à jour Accès API Fiabilité
ProxyRoller Public, Rotatif Oui En temps réel Oui (API REST) Haut
Liste de proxys gratuits Public, statique Oui 10 à 15 minutes Non Modéré
Spys.one Public, statique Oui 1 heure Non Modéré
ProxyScrape Public, Rotatif Oui En temps réel Oui (API HTTP) Haut
Proxys gratuits Geonode Public, Rotatif Oui En temps réel Oui (API REST) Modéré

ProxyRoller : l'API proxy gratuite incontournable

ProxyRoller Offre un pool robuste et régulièrement mis à jour de proxys gratuits. L'acquisition de proxys est simplifiée grâce à une API REST claire, idéale pour les workflows d'automatisation.

Caractéristiques principales :
– Rotation du proxy en temps réel.
– Filtrage par niveau d’anonymat, pays et protocole.
– Récupération de proxy en masse via API.
– Aucune authentification ni inscription requise pour une utilisation de base.

Exemple de demande d’API :

curl 'https://proxyroller.com/api/proxies?protocol=http&country=US&limit=10'

Exemple de réponse JSON :

[
  {"ip": "45.76.23.19", "port": 3128, "protocol": "http", "country": "US"},
  {"ip": "104.248.63.15", "port": 8080, "protocol": "http", "country": "US"}
]

Intégration de proxys avec Puppeteer

1. Utilisation d'un proxy unique

Transmettez le proxy comme argument de lancement de Chromium :

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: ['--proxy-server=http://45.76.23.19:3128']
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

2. Rotation dynamique des proxys

Récupérez un nouveau proxy depuis ProxyRoller avant chaque session de navigateur :

const puppeteer = require('puppeteer');
const axios = require('axios');

async function getProxy() {
  const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=1');
  return `${res.data[0].protocol}://${res.data[0].ip}:${res.data[0].port}`;
}

(async () => {
  const proxy = await getProxy();
  const browser = await puppeteer.launch({
    args: [`--proxy-server=${proxy}`]
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

Intégration de proxys avec Playwright

1. Utilisation d'un proxy unique

Définissez le proxy dans le contexte du navigateur :

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    proxy: {
      server: 'http://45.76.23.19:3128'
    }
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

2. Rotation programmatique des proxys

const { chromium } = require('playwright');
const axios = require('axios');

async function getProxy() {
  const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=1');
  return `http://${res.data[0].ip}:${res.data[0].port}`;
}

(async () => {
  const proxy = await getProxy();
  const browser = await chromium.launch({
    proxy: { server: proxy }
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

Outils de gestion et de test des proxys

  • ProxyBroker: Outil Python pour rechercher et vérifier les serveurs proxy.
  • Vérificateur de proxy en ligne: Vérificateur de santé du proxy basé sur le Web.
  • HTTPBin: Service de vérification de votre IP sortante (utile pour tester l'efficacité du proxy).

Conseils pratiques

  • Hygiène par procuration : Les proxys publics sont souvent instables ou sur liste noire. Utilisez un pool et vérifiez les proxys avant utilisation.
  • Niveau d'anonymat : Préférez les proxys « élite » ou « anonymes » pour le scraping.
  • Prise en charge HTTPS : Assurez-vous que les proxys prennent en charge HTTPS pour les sites sécurisés.
  • Gestion du délai d'attente : Implémentez des délais d’attente et des nouvelles tentatives pour gérer les proxys morts ou lents.
  • Limitation de débit : Faites tourner fréquemment les proxys pour éviter d’atteindre les limites de débit par IP.

Exemple : stratégie de rotation des procurations

const puppeteer = require('puppeteer');
const axios = require('axios');

async function fetchProxyList() {
  const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=10');
  return res.data.map(proxy => `${proxy.protocol}://${proxy.ip}:${proxy.port}`);
}

(async () => {
  const proxies = await fetchProxyList();
  for (const proxy of proxies) {
    try {
      const browser = await puppeteer.launch({ args: [`--proxy-server=${proxy}`] });
      const page = await browser.newPage();
      await page.goto('https://httpbin.org/ip', { timeout: 15000 });
      console.log(`Success with proxy: ${proxy}`);
      await browser.close();
      break; // Stop after first successful proxy
    } catch (err) {
      console.log(`Failed with proxy: ${proxy}`);
    }
  }
})();

Comparaison des sources de proxy gratuites pour l'automatisation

Fournisseur API rotative Filtre par pays Prend en charge HTTPS Filtre de niveau d'anonymat Facilité d'intégration Remarques
ProxyRoller Oui Oui Oui Oui Très facile Idéal pour l'automatisation ; quota d'API gratuit généreux
ProxyScrape Oui Oui Oui Non Facile Pool de proxy étendu, mais filtrage moins granulaire
Liste de proxys gratuits Non Oui Oui Oui Modéré Téléchargement manuel ou analyse requis ; aucune API
Géonode Oui Oui Oui Oui Facile Proxies rotatifs, mais pool libre plus petit

Lectures complémentaires


L'approche pragmatique de Zivadin, ancrée dans la résilience et la curiosité numérique serbes, exige non seulement des solutions rapides, mais aussi des stratégies d'automatisation durables et adaptables. Utilisez ces outils proxy gratuits avec discernement et surveillez constamment vos requêtes : un scraping responsable est le meilleur moyen de garder une longueur d'avance dans le domaine des données.

Zivadin Petrović

Zivadin Petrović

Spécialiste en intégration de proxy

Zivadin Petrovic, un esprit brillant et innovant dans le domaine de la confidentialité numérique et de la gestion des données, est spécialiste de l'intégration de proxy chez ProxyRoller. À seulement 22 ans, Zivadin a déjà contribué de manière significative au développement de systèmes rationalisés pour un déploiement efficace de proxy. Son rôle consiste à organiser et à gérer les listes de proxy complètes de ProxyRoller, en veillant à ce qu'elles répondent aux besoins dynamiques des utilisateurs à la recherche de solutions améliorées de navigation, de scraping et de confidentialité.

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 *