
Cómo camuflar los rastreadores Scrappy
Crawler hermanos entienden que el sitio anti-escalada es como añadir una puerta de seguridad a los datos. En este momento, el proxy IP es nuestra llave maestra, especialmente con el marco Scrapy para el trabajo, no aprenden a la configuración de proxy igual a la Internet desnuda. Hoy no hablamos de falso, directamente en la comida dura.
¿Qué diablos es el middleware proxy?
El mecanismo de middleware de Scrapy es como una estación de clasificación, por donde pasan todas las peticiones. Todo lo que tenemos que hacer es cambiar la "dirección de envío" de la solicitud antes de que se envíe. Específicamente, vamos a añadir una nueva dirección a laDOWNLOADER_MIDDLEWARESLo primero que hay que hacer es que cada petición lleve automáticamente una IP proxy.
Añade esto a settings.py
DOWNLOADER_MIDDLEWARES = {
tunombredelproyecto.middlewares.ProxyMiddleware': 543,
}
Cómo elegir entre proxies dinámicos y estáticos
Aquí hay un escollo sobre el que hay que estar prevenido: ¡no dé por sentado que cualquier agente le servirá! Es importante elegir el tipo en función de las necesidades de su empresa:
| escenario empresarial | Tipo de recomendación |
|---|---|
| Recogida rutinaria de datos | Residencial dinámico (estándar) |
| Minería de datos empresariales | Residencial dinámico (empresa) |
| Identidad fija requerida | Viviendas estáticas |
Como el de ipipgo.Residencial dinámico (empresa)paquete, más de 9 yuanes 1G tráfico, especialmente adecuado para la necesidad de alto anonimato de la escena. Su soporte de protocolo Socks5 es muy amigable para Scrapy, más tarde enseñará a los específicos de cómo hacer coincidir.
Plantillas de código reales (pueden aplicarse directamente)
middlewares.py
importar random
clase ProxyMiddleware(objeto).
def process_request(self, request, spider).
Reemplaza esto con tu propio pool de proxies
lista_proxy = [
'socks5://user:pass@ip.ipipgo.net:15236',
'http://user:pass@gateway.ipipgo.com:2080'
]
proxy = random.choice(lista_proxy)
request.meta['proxy'] = proxy
Se recomienda añadir un tiempo de espera
request.meta['download_timeout'] = 30
¡Atención! Cuando utilice el proxy de ipipgo, recuerde generar el backend del sitio web oficialIP en lista blancade lo contrario la autenticación fallará. Su API obtiene los últimos proxies en tiempo real, lo que supone mucho menos trabajo que mantenerlos manualmente.
Directrices para el desminado de trampas comunes
P: ¿Qué debo hacer si no puedo conectarme al agente todo el tiempo?
R: Primero compruebe que el tipo de protocolo no es correcto, los sitios web https no usan proxy http. El cliente de ipipgo tiene una función de detección automática, ¡se recomienda usar su herramienta de prueba para verificar primero!
P: ¿Es más lento después de configurar el proxy?
R: el ochenta por ciento del agente de centro de datos, este tipo de rápido pero fácil de ser bloqueado. ¡Cambiar a un agente residencial, como ipipgo residencial estática aunque el precio unitario es más alto (35 yuanes / a), pero la estabilidad del agente ordinario colgante!
P: ¿Y si necesito una IP multirregión?
R: Añada el parámetro del código de país después de la dirección del proxy, por ejemplo@gateway.ipipgo.com?country=us. Son compatibles con más de 200 países y regiones, por lo que la recopilación transfronteriza de datos de comercio electrónico es una función muy práctica.
Consejos para un juego de alto nivel
1. Enmiddleware de reintentoAñadir lógica de cambio de proxy para cambiar automáticamente la dirección IP cuando se encuentra con 403.
2. CorrespondenciaAgente de usuario personalizadoUtilícelo para duplicar la eficacia del antisellado
3. Utilización del ipipgoLínea TKAl tratarse de mecanismos especiales antitrepa, algunas plataformas de comercio electrónico lo exigen
Un último punto: ¡no pierdas el tiempo con proxies gratuitos! El costo de mantener su propio grupo de proxy es definitivamente mayor que la compra de un servicio off-the-shelf. Como el paquete dinámico de ipipgo más de 7 yuanes 1G, suficiente para subir cientos de miles de páginas, tienen este esfuerzo no tanto como escribir dos scripts de rastreo más.

