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
- Documentation du marionnettiste
- Documentation du dramaturge
- Référence de l'API ProxyRoller
- Meilleures pratiques en matière de liste de proxy
- Types de proxy expliqués
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.
Commentaires (0)
Il n'y a pas encore de commentaires ici, vous pouvez être le premier !