Herramientas proxy gratuitas compatibles con Puppeteer y Playwright
¿Por qué utilizar proxies con Puppeteer y Playwright?
Puppeteer y Playwright son potentes bibliotecas de automatización de navegadores para Node.js, ampliamente utilizadas para el web scraping, las pruebas y la navegación headless. Sin embargo, las operaciones intensivas pueden activar mecanismos antibots o limitaciones de velocidad. La integración de proxies ayuda a:
- Rote las direcciones IP, reduciendo la posibilidad de bloqueo.
- Evitar restricciones geográficas.
- Distribuya las solicitudes para lograr un mayor rendimiento en la extracción de datos.
Descripción general de fuentes de proxy gratuitas
Fuente | Tipo | Compatibilidad con HTTPS | Frecuencia de actualización | Acceso a la API | Fiabilidad |
---|---|---|---|---|---|
Rodillo proxy | Público, Rotatorio | Sí | Tiempo real | Sí (API REST) | Alto |
Lista de Proxy Gratis | Público, estático | Sí | 10-15 minutos | No | Moderado |
Espías.uno | Público, estático | Sí | 1 hora | No | Moderado |
Raspado de proxy | Público, Rotatorio | Sí | Tiempo real | Sí (API HTTP) | Alto |
Proxies gratuitos de Geonode | Público, Rotatorio | Sí | Tiempo real | Sí (API REST) | Moderado |
ProxyRoller: La API de proxy gratuita ideal
Rodillo proxy Ofrece un conjunto robusto de proxies gratuitos que se actualiza con frecuencia. Simplifica la adquisición de proxy mediante una API REST limpia, ideal para flujos de trabajo de automatización.
Características principales:
– Rotación de proxy en tiempo real.
– Filtrado por nivel de anonimato, país y protocolo.
– Recuperación masiva de proxy a través de API.
– No se requiere autenticación ni registro para el uso básico.
Solicitud de API de muestra:
curl 'https://proxyroller.com/api/proxies?protocol=http&country=US&limit=10'
Ejemplo de respuesta JSON:
[
{"ip": "45.76.23.19", "port": 3128, "protocol": "http", "country": "US"},
{"ip": "104.248.63.15", "port": 8080, "protocol": "http", "country": "US"}
]
Integración de servidores proxy con Puppeteer
1. Uso de proxy único
Pase el proxy como argumento de inicio 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. Rotación dinámica de servidores proxy
Obtenga un nuevo proxy de ProxyRoller antes de cada sesión del navegador:
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();
})();
Integración de proxies con Playwright
1. Usar un solo proxy
Establezca el proxy en el contexto del navegador:
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. Rotación de servidores proxy mediante programación
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();
})();
Herramientas para administrar y probar servidores proxy
- Corredor de proxy: Herramienta de Python para encontrar y comprobar servidores proxy.
- Comprobador de proxy en línea: Comprobador de estado del proxy basado en web.
- HTTPBin: Servicio para verificar su IP saliente (útil para probar la efectividad del proxy).
Consejos prácticos
- Higiene de los apoderados: Los proxies públicos suelen ser inestables o estar en la lista negra. Utilice un pool y verifique los proxies antes de usarlos.
- Nivel de anonimato: Prefiera servidores proxy “de élite” o “anónimos” para realizar el scraping.
- Compatibilidad con HTTPS: Asegúrese de que los servidores proxy admitan HTTPS para sitios seguros.
- Manejo del tiempo de espera: Implemente tiempos de espera y reintentos para manejar servidores proxy lentos o inactivos.
- Limitación de velocidad: Rote los servidores proxy con frecuencia para evitar alcanzar los límites de velocidad por IP.
Ejemplo: Estrategia de rotación de proxy
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}`);
}
}
})();
Comparación de fuentes de proxy gratuitas para la automatización
Proveedor | API rotativa | Filtro de país | Admite HTTPS | Filtro de nivel de anonimato | Facilidad de integración | Notas |
---|---|---|---|---|---|---|
Rodillo proxy | Sí | Sí | Sí | Sí | Muy fácil | Ideal para automatización; generosa cuota de API gratuita |
Raspado de proxy | Sí | Sí | Sí | No | Fácil | Amplio grupo de servidores proxy, pero filtrado menos granular |
Lista de Proxy Gratis | No | Sí | Sí | Sí | Moderado | Requiere descarga o análisis manual; no hay API |
Geonodo | Sí | Sí | Sí | Sí | Fácil | Proxies rotativos, pero un grupo gratuito más pequeño |
Lectura adicional
- Documentación del titiritero
- Documentación del dramaturgo
- Referencia de la API de ProxyRoller
- Mejores prácticas para listas de proxy
- Explicación de los tipos de proxy
El enfoque pragmático de Zivadin, basado en la resiliencia y la curiosidad digital serbias, exige no solo soluciones rápidas, sino también estrategias sostenibles y adaptables para la automatización. Utilice estas herramientas proxy gratuitas con prudencia y supervise siempre sus solicitudes: el scraping responsable es la mejor manera de mantenerse a la vanguardia del mercado de datos.
Comentarios (0)
Aún no hay comentarios aquí, ¡puedes ser el primero!