
¿Cuando los rastreadores se encuentran con CAPTCHA? Pruebe esta combinación
Recientemente, un amigo que es una empresa de comercio electrónico se quejó conmigo de que cuando utilizan Puppeteer para capturar detalles de productos, siempre son reconocidos como bots. ¡Estoy familiarizado con esta situación! El año pasado, cuando ayudaba a alguien a crear una herramienta de comparación de precios, me encontré con la situación de que la IP se bloqueaba cada tres días. Entonces encontré un truco -Poner blindaje IP proxy en PuppeteerEl porcentaje de éxito se duplica directamente.
const puppeteer = require('puppeteer');
const ipipgoProxy = 'http://user:pass@gateway.ipipgo.com:9021';
(async () => {
const browser = await puppeteer.launch({
args: [ `--proxy-servidor=${ipipgoProxy}` ]
});
const page = await browser.newPage();
await page.goto('https://目标网站.com');
const paragraphs = await page.$$eval('p', elements =>
elements.map(el => el.innerText)
);
console.log(párrafos);
await browser.close();
})().
Selección cuidadosa de la IP proxy
Hay todo tipo de servicios proxy en el mercado, pero hay que prestar especial atención a tres cosas con Puppeteer:
| tipología | Escenarios aplicables | nivel de recomendación |
|---|---|---|
| Centro de datos IP | Pruebas a corto plazo | ★★☆☆ |
| IP residencial | Adquisición a largo plazo | ★★★★ |
| IP móvil | Página web de Alta Defensa | ★★★★☆ |
He utilizado ipipgo antes.Grupo de IP residencial dinámicaLa función de cambio automático de IP por solicitud es realmente fragante. Especialmente adecuado para la necesidad de operar continuamente múltiples páginas de la escena, no tienen que cambiar manualmente este punto para ahorrar un montón de cosas.
Guía práctica para evitar el pozo
La semana pasada, me metí en un pozo cuando ayudaba a un cliente a recopilar noticias: obviamente, usaba un proxy, pero aun así saltaba el CAPTCHA. Descubrí que la huella digital del navegador estaba expuesta, y entonces añadí estas dos configuraciones para conseguir un efecto inmediato:
const browser = await puppeteer.launch({
headless: true,
args: [
`--disable-blink-features=AutomationControlled
`--proxy-server=${ipipgoProxy}`.
]
});
Recuerde aleatorizar los ajustes en el códigoUsuario-AgenteEl backend de ipipgo puede descargar directamente listados de UA ya hechos, lo cual es un detalle bastante dulce de manejar.
Preguntas frecuentes Botiquín de primeros auxilios
P: ¿Qué debo hacer si mi IP proxy falla de repente?
R: Compruebe si el saldo de la cuenta es suficiente, y se recomienda activar la función de renovación automática de ipipgo. Contacta directamente con su servicio técnico en caso de emergencia, la velocidad de respuesta es aproximadamente media hora más rápida que la de sus homólogos.
P: ¿Cómo asigno IPs a varias instancias del navegador abiertas al mismo tiempo?
R: Use el API de ipipgo para obtener dinamicamente IP pools y asignar proxies independientes a cada instancia. Su interfaz de retorno de control de velocidad dentro de 200ms, medido que escribir directamente una configuración muerta mucho más flexible.
Consejos para mejorar la eficiencia
Hace poco descubrí que ipipgo tiene un backendEnrutamiento inteligenteque selecciona automáticamente el nodo con la latencia más baja. Con la función de interceptación de peticiones de Puppeteer, el aumento de la velocidad de carga de 40% no es un sueño:
await page.setRequestInterception(true);
page.on('request', request => {
if(request.resourceType() === 'image')
request.abort();
request.abort(); else
request.continue();
});
Este método es particularmente adecuado para la recopilación de contenido de texto sin formato, para ahorrar el ancho de banda utilizado para mantener la estabilidad de la conexión proxy, probado eficaz.
Di algo desde el corazón.
Utilizar un proxy IP es como llevar un traje de protección, la buena o mala calidad afecta directamente a la tasa de supervivencia. Después de varios proyectos para probar, ipipgo en elescenario de alta concurrenciaEl rendimiento bajo es realmente sólido, especialmente su algoritmo de limpieza de IP, básicamente no hay ningún caso de IPs sólo comprados siendo bloqueados. El reciente evento doble once parece tener un descuento del 30%, los amigos que necesitan renovar pueden echar un vistazo.

