
Manos a la obra con un grupo de agentes que pueden soportar la carga
Crawler amigos entienden que no hay un grupo de agentes fiable es como andar en bicicleta en la carretera - simplemente no puede correr hacia arriba. Proxies libres en el mercado son como el cielo en junio, que puede cambiar en cualquier momento, y se puede utilizar hoy, pero estará fuera de servicio mañana. Aquí para dar a todos un truco, con Scrapy + Redis para construir un grupo de agentes exclusivos, y luego con un paquete de agente ipipgo fiable, para asegurarse de que su rastreador estable con el controlador de conducción de edad como.
Entienda por qué debe crear primero su propio grupo de proxy.
1. El agente libre es demasiado inútil.Nueve de cada diez son inútiles, y el resto son probablemente más lentos que una tortuga.
2. Los agentes comerciales son demasiado caros: ¡La facturación por volumen es tan inamovible que los pequeños proyectos no pueden soportarla!
3. La flexibilidad está en tus manos.Pantalla: todo lo que quieras, ¡expándela y contráela cuando quieras!
Preparación del inicio de las obras
| artefacto | utilice |
|---|---|
| Chatarra | Rastrear sitios proxy |
| Redis | Agente dependiente + Programador de tareas |
| cuenta ipipgo | Acceso a fuentes de agentes de calidad |
Centrándonos en la configuración de ipipgo: obtener la interfaz API en su backend, se recomienda elegir la opciónPaquete IP Residencial DinámicoEste tipo de IP no se reconoce fácilmente como un crawler. Haz que la interfaz tenga este aspecto:
http://api.ipipgo.com/get?key=你的密钥&count=50
Cuatro pasos para crear una arquitectura central
Paso 1 Adquisición de agentes
Escriba un rastreador en Scrapy que se centre en capturar estos tres tipos de sitios:
- Página web de la lista pública de apoderados (tenga en cuenta la puntualidad)
- Interfaz API para ipipgo (fuente estable)
- Puesto de intercambio de agentes en foros del sector (para coger carrerilla)
Paso 2 Redis almacena datos
Configura la conexión Redis en settings.py, sugiriendo tres librerías:
1. raw_proxies: proxies en bruto recién capturados
2. verified_proxies: proxies disponibles verificados
3. bad_proxies: listas negras caducadas
Tercer paso: obtener un middleware de validación.
Escribe un middleware personalizado para obtener un proxy aleatorio de Redis antes de cada petición. Un consejo: etiqueta diferentes proxies, como operadores de móvil/unicom para almacenarlos por separado, puedes usarlos para sitios específicos.
Paso 4 Estrategia de mantenimiento dinámico
Establezca dos tareas cronometradas:
- Limpia automáticamente los proxies inválidos todos los días a las 6 de la mañana.
- Comprobación de la calidad del agente cada 2 horas
Utilizar el mecanismo de programación scrapy-redis para lograr la desduplicación automática, esto es particularmente crítico, ¡puede salvar muchas cosas!
Soluciones a baches comunes
P: ¿Qué debo hacer si el agente sigue fallando de repente?
¡R: ipipgo tiene una función de conmutación inteligente, en los parámetros de la API añadir un &auto_switch=1, encuentro fallo cambia automáticamente IP, pro-prueba efectiva!
P: ¿Qué debo hacer si me bloqueo mientras gateo?
¡R: cambiar el paquete ipipgo en una IP residencial dinámica, cada solicitud de un cambio aleatorio de IP, recuerde establecer el intervalo de solicitud en el código no ser demasiado feroz!
P: ¿Qué tiene de malo que Redis siempre explote la memoria?
R: Se recomienda configurar la fecha de caducidad del proxy para que se limpie automáticamente si supera las 6 horas. Ejecútalo en redis-cli:
CONFIG SET maxmemory 500mb CONFIG SET maxmemory-policy allkeys-lru
Consejos de mantenimiento
1. Compruebe manualmente el saldo del envase de ipipgo una vez a la semana, para no cortar la comida en mitad de su uso.
2. En el caso de una gran promoción como el doble once, con antelación en el fondo de ipipgo para aumentar la cantidad de paquete
3. Se recomienda a los proyectos importantes que adquieran su fondo de IP exclusivo, aunque más caro, ¡pero realmente estable!
Por último, para ser honesto, piscina proxy auto-construido para pasar un poco de esfuerzo en la etapa inicial, pero hacerlo es realmente ahorrar. Con la fuente de proxy estable de ipipgo, básicamente puede hacer frente a las necesidades diarias de recogida de 90%. Si es demasiado problema, tienen un programa ya hecho proxy pool, rellenar una configuración se puede utilizar directamente, conveniente para los amigos en un apuro en el proyecto.

