
¡Enséñale a colgar la IP proxy al rastreador!
Cuando hacemos la captura de datos, el mayor dolor de cabeza es ser el sitio de destino bloqueado IP, esta vez es necesario dar el rastreador establecer un "chaleco" - es decir, la IP proxy. hoy tomamos el rastreador de Python más común como un ejemplo, le enseñará cómo dar el programa para llevar un chaleco.
Paso 1: Conseguir una IP proxy fiable
recomendadoipipgoInicio de IP residencial dinámico, más de 7 yuanes 1 GB de tráfico es bastante rentable. Su grupo de IP residencial es grande, más de 200 países de todo el mundo los recursos de soporte, la probabilidad de ser bloqueado es mucho menor. Voy a centrarme en cómo obtener una IP:
solicitudes de importación
Obtener el proxy de la API de ipipgo
api_url = "https://api.ipipgo.com/getproxy"
params = {
"type": "dynamic",
"count": 5
"protocol": "http"
}
response = requests.get(api_url, params=parámetros)
proxies = response.json()['datos']
Este código puede tomar 5 IPs residenciales dinámicas a la vez, ten en cuenta que cuando realmente lo uses, tienes que reemplazarla con tu propia clave API. Su cliente residencial también puede exportar la lista de proxy directamente, lo que es más amigable para los novatos.
Paso 2: conectar un proxy a la biblioteca de peticiones
Asumiendo que se ha obtenido una IP proxy, la forma más común de configurarla es algo como esto:
session = requests.Session()
proxy = "http://用户名:密码@ip dirección:puerto"
probar.
response = session.get('URL de destino', proxies={'http': proxy}, timeout=10)
print(respuesta.texto)
except Exception as e.
print(f "Esta IP no funciona bien, cambia a la siguiente: {str(e)}")
Tenga en cuenta que debe rellenar aquíNombre de usuario y contraseña(ipipgo se puede generar en segundo plano), no utilice directamente la IP desnuda. encuentro timeout o 403 error, cambiar rápidamente la IP, no mueren.
Consejos para la rotación de IP proxy
Utilizando una sola IP es fácil de ser encontrado, usted tiene que aprender a jugar a la guerra de guerrillas. He aquí un esquema de rotación simple:
from itertools import ciclo
proxy_pool = cycle(proxies) Pon la lista de proxies que has obtenido.
for página in rango(1, 100): proxy_actual = siguiente(proxy_pool)
proxy_actual = siguiente(proxy_pool)
prueba.
res = requests.get(url, proxies={'http': current_proxy})
Procesando datos...
except.
print(f "Omitir proxy fallido: {proxy_actual}")
Esto hará un ciclo automático a través de las IPs en el grupo de proxy, y se recomienda que cambies activamente tu IP cada 3-5 peticiones exitosas, en lugar de esperar hasta que seas bloqueado.
Control de calidad de escenas de vuelco comunes
P: ¿Por qué sigue bloqueado incluso después de colgar el proxy?
R: Dos posibilidades: 1. El sitio de destino detectó una anomalía en el encabezado HTTP 2. La calidad de la IP del proxy no es buena. Se recomienda añadir User-Agent aleatorio en el código, y al mismo tiempo cambiar a ipipgo'sIP residencial estática(Más caro pero más estable)
P: ¿La IP proxy muestra éxito pero no puede recibir datos?
R: 80% es que el servidor proxy no abrió la lista blanca. Ir al fondo de ipipgo para añadir la IP local a la lista blanca, o utilizar su familia de客户端模式Este es el menos problemático.
P: ¿Tengo que cambiar los agentes de un sitio a otro?
R: Para los sitios web nacionales con IP de operador local, se recomienda a los sitios web extranjeros que utilicen el servicio de ipipgo.línea transfronteriza especializadaNo estoy seguro de poder hacerlo. Si haces Google crawler, recuerda elegir su paquete dedicado TK.
Guía de selección de envases
Elija un paquete en función de las necesidades de su empresa (los precios están sujetos a cambios y se basan en el sitio web oficial):
| Tipo de empresa | Paquetes recomendados | coste medio diario |
|---|---|---|
| adquisición de datos | Residencial dinámico (estándar) | Unos 0,25 $/GB |
| Registro de cuentas | Viviendas estáticas | Alrededor de 1,16 $/IP |
| Rastreadores de ultramar | línea transfronteriza especializada | Póngase en contacto con el servicio de atención al cliente |
Por último, utilice una IP proxy para cumplir con el acuerdo de robots del sitio web. Si se encuentra con estrategias anti-escalada complejas, puede buscar directamente el soporte técnico de ipipgo para personalizar el programa, pueden hacer coincidir diferentes combinaciones de IP de acuerdo con el negocio específico, mucho mejor que su propio plegado a ciegas.

