IPIPGO proxy ip Desarrollo de rastreadores web Node.js: Ejemplo de código de rastreador proxy Node.js

Desarrollo de rastreadores web Node.js: Ejemplo de código de rastreador proxy Node.js

Los rastreadores están siendo backcrawled? Pruebe el truco de IP proxy Recientemente, muchos hermanos de rastreo Node.js se quejan de que el sitio anti-rastreo cada vez más despiadado. Anteayer, un anciano dijo, escribió el rastreador corrió menos de media hora, la IP fue bloqueado a la muerte. Esto es algo que siento demasiado, el año pasado para hacer la recopilación de datos de comercio electrónico,...

Desarrollo de rastreadores web Node.js: Ejemplo de código de rastreador proxy Node.js

¿Rastreadores contra rastreados? Prueba este truco de IP proxy

Recientemente, muchos hermanos rastreador Node.js se quejan de que el sitio anti-escalada cada vez más despiadado. El día antes de ayer, dijo un viejo hermano, escribió el rastreador corrió menos de media hora, la IP fue bloqueada a la muerte. Esto es algo que siento demasiado, el año pasado para hacer la recopilación de datos de comercio electrónico, tres días para cambiar la IP, y más tarde se encontró que el uso de proxy IP es la verdadera fragancia.

¿Cómo le ayuda exactamente una IP proxy?

En pocas palabras.Vestir a los reptiles con capas de invisibilidad. Supongamos que desea recopilar el precio de los productos de un determinado sitio web:

const axios = require('axios');

// Petición normal (bloqueada en minutos)
función asíncrona normalRequest() {
  try {
    const response = await axios.get('URL de destino'); console.log(response.data); // petición normal (bloqueada en un minuto)
    console.log(response.data);
  } catch (error) {
    console.log('¡Maldita sea, la IP está bloqueada!) ); }
  }
}

Después de cambiar a una IP proxy:

// solicitud de proxy (API recomendada con ipipgo)
const proxyConfig = {
  host: 'ipipgo IP Proxy Residencial Dinámico',
  port: número de puerto,
  auth: {
    nombre de usuario: 'Su número de cuenta',
    contraseña: 'Contraseña aleatoria'
  }
}.

async function proxyRequest() {
  try {
    const response = await axios.get('URL del sitio de destino', {
      proxy: proxyConfig, {
      timeout: 5000 // Es importante establecer un tiempo de espera.
    });
    console.log('¡Datos en mano!') ;
  } catch (error) {
    console.log('Cambiar IP y continuar'); } catch (error) { console.log('Cambiar IP y continuar') ; }
  }
}

El código del mundo real es el siguiente

recomendadoMétodos de extracción de API para ipipgoDiez veces más cómodo que los proxy pools tradicionales:

const { IpProxy } = require('ipipgo-sdk'); // SDK oficial
const puppeteer = require('puppeteer'); // SDK oficial.

async function smartCrawler() {
  // Obtener la IP del proxy dinámicamente (¡énfasis añadido!)
  const proxy = await IpProxy.getDynamicResidential({
    país: 'us', protocolo: 'https'
    protocolo: 'https'
  });

  const browser = await puppeteer.launch({
    args: [`--proxy-server=${proxy.ip}:${proxy.port}`]
  });

  // Recuerda establecer el tiempo de espera de la página
  const page = await browser.newPage();
  await page.goto('url de destino', {timeout: 60000});

  // Desliza el ratón aleatoriamente (para simular la acción de una persona real)
  await page.mouse.move(100, 100); await page.
  await page.waitForTimeout(2000);

  const data = await page.evaluate(() => {
    return document.querySelector('.price').innerText; }); const data = await page.evaluate(() => {
  }).

  await browser.close();
  return datos; }); await browser.close(); return datos; }
}

Cuidado con el procesamiento simultáneo

Utilice esta rutina cuando necesite tener varios rastreadores activados al mismo tiempo:

const { Worker } = require('worker_threads');

function createWorker(proxy) {
  return new Promise((resolver) => {
    const worker = new Worker('. /crawler.js', {
      workerData: { proxy }
    });

    worker.on('mensaje', resolver); worker.on('error', () => { workerData: { proxy } }; }
    worker.on('error', () => {
      console.log(`${proxy.ip} colgado, pasar al siguiente`); }); worker.on('message', () => { worker.on('error', () => {
    });
  });
}

// Crear instancias proxy por lotes
const proxyList = await IpProxy.batchGet(10); // toma 10 IPs a la vez
const results = await Promise.all(proxyList.map(createWorker));

Errores comunes Garantía de calidad

P: ¿Por qué recurrir a un agente residencial?
R: la IP del centro de datos lleva mucho tiempo en la lista negra de los principales sitios web, la IP residencial parece un usuario real. el proxy residencial dinámico de ipipgo es una banda ancha doméstica real, probado personalmente un cierto este y un cierto tesoro puede funcionar de forma estable.

P: ¿Cuál es la mejor manera de cobrar por una IP proxy?
R: Mira el escenario empresarial para elegir un paquete y guarda la lista de precios:

Tipo de envase Escenarios aplicables precio del artículo
Residencial dinámico (estándar) Recogida rutinaria de datos 7,67 ¤/GB/mes
Residencial dinámico (empresa) Requisitos de las visitas de alta frecuencia 9,47 RMB/GB/mes
Viviendas estáticas Escenarios de IP fija necesarios 35/IP/mes

P: ¿Cómo puedo evitar la vinculación de cuentas?
R: tres pasos: ① cada solicitud de IP de un país diferente ② borrar la huella del navegador ③ con la línea TK de ipipgo para hacer aislamiento de cuentas.

¿Por qué ipipgo?

Utilizado siete u ocho proveedores de servicios de agente, el último uso a largo plazo de ipipgo en tres razones: ① su API SERP puede subir directamente los datos de Google (otros tienen que tirar su propia) ② tres de la mañana para encontrar el servicio al cliente en realidad segundos atrás ③ soporte para protocolos socks5, para participar en las secuencias de comandos de artesanía también son convenientes. Recientemente encontró que también pueden ser personalizados por el esquema de facturación por hora, especialmente amigable para proyectos a corto plazo.

Por último, un rollo: aunque lo de la IP proxy está bien, pero no os quejéis de las webs de la gente hasta la saciedad. He visto a alguien abrir 100 hilos para rastrear, el resultado es que el otro servidor se cuelga, este tipo de cosas malas que no podemos hacer.

我们的产品仅支持在境外网络环境下使用(除TikTok专线外),用户使用IPIPGO从事的任何行为均不代表IPIPGO的意志和观点,IPIPGO不承担任何法律责任。

escenario empresarial

Descubra más soluciones de servicios profesionales

💡 Haz clic en el botón para obtener más detalles sobre los servicios profesionales

IPIPGO-五一狂欢 IP资源全场特价!

Profesional extranjero proxy ip proveedor de servicios-IPIPGO

Póngase en contacto con nosotros

Póngase en contacto con nosotros

13260757327

Consulta en línea. Chat QQ

Correo electrónico: hai.liu@xiaoxitech.com

Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
Seguir WeChat
Síguenos en WeChat

Síguenos en WeChat

Volver arriba
es_ESEspañol