Cómo usar servidores proxy gratuitos con Puppeteer

Cómo usar servidores proxy gratuitos con Puppeteer

Comprensión de los proxies en el contexto de Puppeteer

Puppeteer, el conjunto de herramientas del marionetista para Chrome, se mueve con gracia por el escenario digital; sin embargo, a veces su danza debe enmascararse: el proxy. Los proxies gratuitos, esos fantasmas efímeros dispersos por la web, pueden proteger tu IP o desbloquear contenido restringido por región. Pero, como todos los regalos de la cornucopia de internet, son de doble filo: frágiles, a menudo poco fiables y, en ocasiones, un canto de sirena para los incautos.

Tabla 1: Tipos de proxy gratuitos y sus ventajas y desventajas

Tipo de proxy Descripción Ventajas Contras
HTTP Enruta únicamente el tráfico HTTP Simple, con amplio apoyo Sin HTTPS, menos seguro
HTTPS/SSL Protege el tráfico HTTP con SSL/TLS Seguro, encriptado A veces más lento, más raro.
SOCKS4/5 Enruta cualquier tráfico (TCP), no solo HTTP Versátil, anónimo Puppeteer necesita configuración adicional
Transparente Revela su IP al servidor de destino Fácil de encontrar Sin anonimato
Anónimo Oculta tu IP, pero se identifica como un proxy Privacidad básica Puede que aún esté bloqueado
Élite/Alto Anónimo Oculta tu IP, no se identifica como proxy La mejor privacidad El más difícil de encontrar

Paso 1: Recolección de proxies gratuitos

Empecemos por el principio: crear una lista de proxies. Muchos agregadores en línea, como Lista de proxy gratuita, arroja tablas de IP y puertos, de la siguiente manera:

Dirección IP Puerto Protocolo Anonimato País 195.154.161.130 8080 HTTP Elite FR 103.216.82.198 6667 HTTPS Anónimo IN

Para los intrépidos, se recomienda automatizar la recuperación y validación del proxy, para evitar que su script se tope con una dirección inactiva y colapse en la desesperación digital.

Paso 2: Configurar Puppeteer para usar un proxy

El encantamiento es simple, pero la magia es precisa. El titiritero acepta una --servidor proxy argumento al iniciar el navegador:

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

Con esto, la marioneta baila detrás de una nueva máscara.

Paso 3: Autenticación: el ritual de las credenciales de proxy

Algunos intermediarios exigen un tributo: un nombre de usuario y una contraseña. Puppeteer, siempre el atento director, puede proporcionarlos a través de página.autenticar:

const navegador = await puppeteer.launch({ args: ['--proxy-server=proxy.example.com:3128'] }); const página = await navegador.newPage(); await página.authenticate({ nombre de usuario: 'myuser', contraseña: 'mypassword' }); await página.goto('https://httpbin.org/ip');

Invoca esto antes de tu primera navegación, para que los guardianes no te impidan la entrada.

Paso 4: Rotación entre las sombras: uso de múltiples servidores proxy

Depender de un único representante es soberbia; los sabios orquestan una rotación. Aquí hay una coreografía minimalista, que alterna entre varios representantes:

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

Para ballets más sofisticados, considere la aleatorización, los controles de salud y la recuperación de errores.

Paso 5: Prueba y validación de la eficacia del proxy

La promesa de un proxy es tan fugaz como un sueño de verano. Siempre prueba antes de confiar.

  • Utilice puntos finales como https://httpbin.org/ip o https://api.ipify.org para confirmar su capa de IP.
  • Tenga en cuenta los tiempos de respuesta: los servidores proxy gratuitos suelen ser lentos o caprichosos.
  • Implemente tiempos de espera y reintentos en sus scripts.

Tabla 2: Lista de verificación de validación de proxy

Prueba Ejemplo de implementación de Puppeteer
Cambio de IP Visita https://httpbin.org/ip y analizar la respuesta
Compatibilidad con HTTP(S) Intente usar URL HTTP y HTTPS
Estado latente Medida Fecha.ahora() antes y después de la navegación
Detección de bloqueos Compruebe HTTP 403/429 o CAPTCHA en las respuestas
Autenticación de proxy Realice la prueba con o sin credenciales si es necesario

Paso 6: Manejo de fallos de proxy y recuperación de errores

El camino está lleno de peligros; tu guión debe ser resiliente:

try { await page.goto('https://example.com', {timeout: 30000}); } catch (error) { console.log('Proxy falló:', proxy, error.message); // Opcionalmente, vuelva a intentarlo con un nuevo proxy }

Considere automatizar la eliminación de proxy de su grupo si falla repetidamente, para evitar bucles interminables.

Reflexiones sobre seguridad y ética

Los proxies gratuitos son flores silvestres: hermosos, pero a veces contaminados con toxinas. Nunca envíes datos confidenciales a través de proxies no confiables; podría haber rastreadores al acecho. Úsalos solo para navegación pública o no confidencial. Y siempre, siguiendo el espíritu de los filósofos franceses, respeta el archivo robots.txt y el patrimonio digital.

Tabla 3: Proxies gratuitos vs. proxies de pago

Aspecto Proxies gratuitos Proxies pagados
Fiabilidad Bajo, a menudo fuera de línea Alto tiempo de actividad garantizado
Velocidad Variable, a menudo lento Rápido y consistente
Anonimato Cuestionable Fuerte, configurable
Seguridad No confiable, arriesgado Soporte confiable y disponible
Costo Gratis Suscripción o pago por uso
Longevidad Efímero A largo plazo, estable

Apéndice: Automatización de la obtención de listas de proxy

Un toque poético para el automatizador: obtenga nuevos proxies diariamente con un simple axios solicitar y analizar con ¡Adiós!:

const axios = require('axios'); const cheerio = require('cheerio'); función asíncrona 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() === 'sí'; proxies.push(`${ip}:${puerto}`); }); return proxies; }

Deje que sus scripts respiren el aire más fresco de los prados proxy cada mañana y exhalen sus automatizaciones web con sutileza y entusiasmo.

Teófilo Beauvais

Teófilo Beauvais

Analista de proxy

Théophile Beauvais tiene 21 años y es analista de servidores proxy en ProxyMist, donde se especializa en seleccionar y actualizar listas completas de servidores proxy de todo el mundo. Con una aptitud innata para la tecnología y la ciberseguridad, Théophile se ha convertido en un miembro fundamental del equipo, ya que garantiza la entrega de servidores proxy SOCKS, HTTP, elite y anónimos confiables de forma gratuita a usuarios de todo el mundo. Nacido y criado en la pintoresca ciudad de Lyon, la pasión de Théophile por la privacidad digital y la innovación surgió a una edad temprana.

Comentarios (0)

Aún no hay comentarios aquí, ¡puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *