
Prácticas con peticiones Python con configuración de IP proxy
¿Qué es lo que más teméis cuando hacéis crawlers? Por supuesto, ¡que la IP esté bloqueada ah! La mitad del código escrito con tanto esfuerzo será bloqueado por el sitio de destino, y entonces tendrás que confiar en la IP proxy para salvar el día. Hoy tomaremos la librería de peticiones de Python para enseñarte cómo usar la IP proxy para evitar ser bloqueado.
solicitudes de importación
proxies = {
'http': 'http://用户名:密码@ip dirección:puerto',
https': 'https://用户名:密码@ip dirección:puerto'
}
response = requests.get('URL de destino', proxies=proxies)
Mira esto.Diccionario de proxiesLo primero que debe hacer es asegurarse de que el encabezado del protocolo no está escrito al revés. Muchos novatos caen porque la dirección http y https proxy confundido, el resultado no está conectado a los muertos. Se recomienda directamente conipipgoEl agente de la familia, su familia automáticamente adaptado al protocolo, ahorrar un montón de corazón.
Tres formas de abrir una IP proxy
La primera es para uso temporal y es adecuada para escenarios en los que necesitas cambiar de IP ocasionalmente:
Petición única utilizando proxies
requests.get('url', proxies={'http':'http://ip:port'})
La segunda es una configuración global, adecuada para casos en los que todas las solicitudes pasan por el proxy:
Configuración global del proxy
session = requests.Session()
session.proxies.update({'http':'http://ip:port'})
El tercero es una rotación automática, y esto tendrá que ser en elipipgos también. Su grupo de proxy es lo suficientemente grande como para que no puedan dejar de cambiar de IP automáticamente:
from itertools import ciclo
proxy_list = ['ip1:puerto','ip2:puerto','ip3:puerto'] Rellena la lista de proxies proporcionada por ipipgo.
proxy_pool = ciclo(lista_proxy)
Cambiar automáticamente la IP para cada petición
for _ in range(10): proxy = next(proxy_pool)
proxy = next(proxy_pool)
requests.get('url', proxies={'http':f'http://{proxy}'})
Guía para evitar la fosa (¡imprescindible!)
1. configuración del tiempo de esperaNo lo olvides: los servidores proxy suelen dar tirones, sin el parámetro timeout, ¡el programa se atascará en minutos!
requests.get('url', proxies=proxies, timeout=10)
2. Gestión de excepcionesPara estar en su sitio: se recomienda envolver la petición con try-except, y reintentar automáticamente en caso de fallo de conexión.
3. Calidad IPEl más crítico: encontrar su propio agente libre nueve de cada diez no se puede utilizar, se recomienda directamente con elipipgoagentes comerciales, la disponibilidad medida puede ser de hasta 99%
Sesión práctica de control de calidad
P:¿Por qué no puedo conectarme aunque mi agente esté emparejado?
R: Compruebe primero el formato del proxy, asegúrese de que es el formato "protocolo://IP:puerto". Si utilizaipipgo¡El agente, prestar atención a los antecedentes a la conexión ejemplo, algunos de sus paquetes es necesario añadir la contraseña de la cuenta!
P: ¿Cómo puedo saber si el proxy está activo?
R: Puedes usar este sitio de prueba: http://httpbin.org/ip, ¡la IP de retorno cambiada indica que el proxy está en efecto!
P: ¿Cómo jugar con proxies en escenarios de alta concurrencia?
A: ArribaipipgoEl paquete proxy exclusivo con multithreading + proxy pooling, recordando controlar la frecuencia de las peticiones
¿Por qué recomienda ipipgo?
| dominio | expresión concreta |
|---|---|
| capacidad de respuesta | Retraso medio <200ms |
| tasa de disponibilidad | 99,9% Garantía SLA |
| anonimato | Proxy altamente anónimo, completamente inmune a X-Forwarded-For |
| servicio posventa | Asistencia técnica 7×24 horas, para solucionar problemas en cualquier momento |
Un último consejo: utiliceipipgoEl proxy recordar a abrir su API para obtener dinámicamente IP, que su propio mantenimiento de la piscina de proxy para ahorrar un montón de dolores de cabeza. El registro de nuevos usuarios también envía tráfico 10G, suficiente para que usted pruebe. ¡El código está mejor escrito que el proxy está bien elegido, esto es realmente no soplar!

