
Los baches del proxy que debes conocer para hacer crawling en Node.js
Hace poco, estaba ayudando a un amigo a crear un sitio web de comparación de precios, y cuando utilizaba Node.js para capturar los datos, siempre me bloqueaba.Juego de IP proxyLo primero que debe hacer es obtener una buena cantidad de información sobre la empresa. Por ejemplo, una cierta captura continua de una plataforma de comercio electrónico, menos de media hora se bloqueó, y luego cambió ipipgo agente dinámico residencial, inmediatamente efectiva.
const axios = require('axios');
const tunnel = require('tunnel');
const agent = tunnel.httpsOverHttp({
proxy: {
host: 'gw.ipipgo.com',
puerto: 9021,
proxyAuth: 'Tu cuenta:contraseña'
}
});
axios.get('https://target-site.com', {
httpsAgent: agente,
timeout: 8000
}).then(res => console.log(res.data))
¿Cuáles son los indicadores más importantes a la hora de elegir un agente?
Hay tres tipos de agentes en el mercado, por lo que te daré una tabla comparativa real:
Agente residencial | Agentes de sala de servidores | Agentes móviles
— | — | —
IP del usuario real | IP del servidor en nube | IP de la estación base móvil
Alto anonimato | Fácilmente reconocible | Anonimato medio
Adecuado para tareas de larga duración | Adecuado para ráfagas cortas | Para escenarios específicos
Al igual que el gran grupo de proxies residenciales de ipipgo, he probado el rastreo durante tres días seguidos sin provocar un rastreo inverso. Preste especial atención a lo siguienteCaducidadEste parámetro, que algunos agentes dicen que es válido durante 5 minutos, en realidad cae en 2 minutos.
Configuración proxy real de la operación tarta
Recuerde añadir parámetros de inicio si está usando puppeteer, no sea estúpido y corra desnudo:
const puppeteer = require('puppeteer');
async function crawlWithProxy() {
const browser = await puppeteer.launch({
args: [
'--proxy-servidor=http://gw.ipipgo.com:9021',
'--disable-gpu'
]
});
//... Operaciones posteriores
}
Lo más lamentable que me he encontrado esProblemas con los certificados SSLAlgunos sitios probarán las huellas digitales del certificado del proxy. Esta vez utilice la solución de proxy HTTPS de ipipgo, los certificados de su familia se actualizan regularmente, guarde su corazón.
Guía de autoayuda para escenas comunes de vuelco
GC 1:¿Y si el proxy falla de repente?
Primero compruebe el código de estado de retorno, 403/429 para cambiar de IP. La API de ipipgo soporta el cambio automático, se recomienda configurar un mecanismo de reintento de fallo.
GC 2:¿Lento como un caracol para arrastrarse?
Trate de peticiones concurrentes + rotación de la piscina de proxy. Pero preste atención a no abrir demasiados hilos, generalmente controlados en 10-20 concurrentes, dependiendo de la asequibilidad del sitio de destino.
GC 3:¿Funcionan los proxies gratuitos?
¡Lección de sangre! He usado proxies gratuitos antes para ahorrar tiempo, pero los datos estaban mezclados con código publicitario. Ahora uso el proxy exclusivo de ipipgo, y la calidad de los datos es muy estable.
Todo es en vano si no prestas atención a estos detalles.
1. En la cabecera de la solicitudX-Forwarded-ForAleatorizar, no utilizar valores fijos
2. Recomendaciones de IP por proxy5-10 minutossustitución puntual
3. No seas duro cuando te encuentres con CAPTCHA, utiliza los proxies extranjeros de ipipgo para cambiar la IP regional y probar.
4. log recuerde registrar el uso de la IP proxy, fácil de solucionar el problema
Por último, un conocimiento frío: algunos sitios se detecta la pista del ratón, con el modo sin cabeza recuerde agregar elenmascaramiento de agente de usuario. Mi esquema de configuración común es ipipgo proxy + random UA library, que se combina con un sitio 90%.

