IPIPGO proxy ip Marco de rastreo distribuido: Tutorial de despliegue en clúster de Scrapy-Redis

Marco de rastreo distribuido: Tutorial de despliegue en clúster de Scrapy-Redis

En primer lugar, ¿por qué tirar rastreador distribuido? Participó en la recopilación de datos del viejo conductor entender, rastreador independiente es como beber té con leche con una pajita - toque una gran cantidad de datos directamente cansado de los calambres en la boca. Marco ordinario Scrapy puede ejecutar un volumen de datos de unos pocos millones, si cumple con el sitio web anti-rastreo despiadado, minutos a su IP enviado a la pequeña habitación negro. Esto ...

Marco de rastreo distribuido: Tutorial de despliegue en clúster de Scrapy-Redis

I. ¿Por qué descartar los rastreadores distribuidos?

Participó en la recopilación de datos del antiguo conductor entender, rastreador independiente es como beber té con leche con una pajita - toque una gran cantidad de datos directamente a los calambres en la boca. Marco Scrapy ordinaria puede ejecutar un volumen de datos de unos pocos millones, si cumple con el sitio web anti-escalada despiadado, minutos para enviar su IP en la pequeña habitación negro. Esta vezScrapy-Redis + Proxy IPLa combinación es como tener el dedo de oro en la rueda, poder trabajar de forma distribuida y poder cambiar de chaleco en cualquier momento.

II. Manual de Operaciones para el Despliegue de Clusters Hardcore

Primero, arreglaremos tres servidores (una máquina virtual está bien si no puedes permitírtelo) e instalaremos la base de datos Redis. Aquí está el truco: Scrapy proyectos en todas las máquinassettings.pyTodo tiene que ir acompañado de estas líneas:

REDIS_URL = 'redis://su IP de servidor:6379'
SCHEDULER = 'scrapy_redis.scheduler.Scheduler'
DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'

Recuerde colocar el archivo de rastreo en el directoriostart_urlsCambiar a lectura desde Redis:

def start_requests(self).
    for url in self.server.lrange('Crawler Task Queue', 0, -1):: yield scrapy.Request(url.decode("utf-8")).
        yield scrapy.Request(url.decode("utf-8"))

En tercer lugar, la forma correcta de abrir el proxy IP

Aquí es donde tenemos que sacar a relucir nuestraservicio proxy ipipgoAhora, su API está diseñada para no dar problemas. Añade un middleware a middlewares.py:

importar random
clase ProxyMiddleware.
    
        proxy_list = [
            'http://账号:密码@proxy.ipipgo.com:端口'.
             Se recomienda utilizar aquí enlaces API generados dinámicamente
        ]
        request.meta['proxy'] = random.choice(proxy_list)

Recordatorio clave: no olvide poner elPunto de reducción de la concurrenciaNo agote el pool de IPs del proxy. Se recomienda abrir 20-30 concurrencias por nodo, en función del tráfico de paquetes comprado.

escenario de error Programa de primeros auxilios
Aparece el código de estado 429 Cambio inmediato de IP proxy + reducción de la frecuencia de rastreo
Tiempo de espera de la conexión Redis Comprobar la configuración de disparo + añadir mecanismo de reintento

IV. Guía para evitar errores sobre el terreno

1. nunca escriba una IP proxy muerta en el script del crawler, use ipipgo'sInterfaz API dinámicaSu familia puede cambiar más de 5000 IPs por minuto.

2. No sea tan testarudo cuando se encuentre con CAPTCHA, configure la política de reintento automático y cambie los paquetes de IP. el pool de IP exclusivas de ipipgo es muy útil en este momento.

3. log recuerde hacer el procesamiento jerárquico, el informe de error relacionado con la IP del proxy un archivo separado, para facilitar la optimización de seguimiento.

V. Blanco común QA

P: ¿Por qué mi nodo de rastreo siempre acapara tareas?
R: Compruebe la configuración del comando BRPOP de Redis, se recomienda utilizar diferentes colas para el triaje de prioridades

P: ¿Qué debo hacer si utilizo una IP proxy o me bloquean?
R: El 80% de la cabecera de la petición no es aleatoria, instala una librería fake_useragent, luego comprueba el manejo de cookies

P: ¿Cómo elijo el paquete adecuado para ipipgo?
R: período de prueba con pago por volumen, estable ejecutar corte paquete mensual. Concurrencia más de 50 elegir piscina dinámica de clase empresarial, hay especialistas para hacer el mantenimiento de IP.

Despotrique final: los rastreadores distribuidos no son balas de plata con ipipgo'sAgente de enrutamiento inteligenteantes de que despegue de verdad. Recuerda actualizar las reglas del crawler regularmente, no dejes que la estrategia anti-crawler se actualice al pozo. Si tienes algún problema de despliegue, puedes dirigirte directamente a su servicio técnico de atención al cliente, la velocidad de respuesta es N veces más rápida que la del agente gratuito...

Este artículo fue publicado o recopilado originalmente por ipipgo.https://www.ipipgo.com/es/ipdaili/29552.html

escenario empresarial

Descubra más soluciones de servicios profesionales

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

Nueva oferta de fin de año de IPs dinámicas 10W+ de EE.UU.

Profesional extranjero proxy ip proveedor de servicios-IPIPGO

Deja una respuesta

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

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