
En primer lugar, ¿por qué necesitamos incluir la IP del proxy en los datos JSON?
El viejo hierro debe haberse encontrado con esta situación: usando Python para agarrar datos, el sitio de destino de repente te lanza un"429 Demasiadas peticiones"La primera cosa que hay que hacer es conseguir una IP proxy. En este momento, la IP proxy será muy útil, ya que si el juego para abrir un pequeño número, cambiar la identidad para seguir agitando. Especialmente cuando se trata de interfaces JSON, las peticiones frecuentes se apagan en minutos, usando el proxy pool de ipipgo para rotar IPs, igual que un crawler instalado con unMáscara con cambio automático de cara.
importar peticiones
from ipipgo import get_proxy asumiendo que este es su SDK
proxy = get_proxy(type='dynamic') IPs residenciales dinámicas
response = requests.get('https://api.example.com/data', proxies={"https": proxy})
json_data = response.json()
En segundo lugar, Python le juega a JSON tres grandes trucos
primer pasoConsejos para prevenir avalanchasWrap json parsing with try-except to avoid a sudden and violent death of the application.
importar json
raw_data = '{"nombre": "Zhang San", "edad": 28}'
try: datos = json.loads(datos_brutos)
datos = json.loads(datos_brutos)
print(datos['dirección']) ¡Esta clave no existe!
except json.JSONDecodeError: print("¡La clave no existe!
JSONDecodeError: print("¡Esto no es JSON correcto!")
except KeyError as e.
print(f "Tío, has escrito mal el campo: {e}")
segundo movimientopreparación de datos: Utiliza el parámetro indent de json.dumps para que los datos se tipifiquen como un resumen en estrella:
ugly_data = {"empresa": "ipipgo", "servicios":["IP Proxy", "Servidor Cloud"]}
print(json.dumps(ugly_data, indent=2, ensure_ascii=False))
C. Proxy IP con JSON Manual Práctico
Con ipipgo.Agente de línea TKCuando lo hagas, recuerda establecer un mecanismo de tiempo de espera y reintento, y el código debe estar escrito de esta manera:
from requests.adapters import HTTPAdapter
session = requests.Session()
session.mount('https://', HTTPAdapter(max_retries=3))
proxies = {
https': 'socks5://user:pass@tk.ipipgo.com:3000'
}
try.
resp = session.get('https://api.xxx.com', proxies=proxies, timeout=5)
print(resp.json().get('datos'))
except Exception as e.
print("Solicitud rebotada, ¡cambia de IP y sigue!")
Cuatro, blanco común escena de vuelco QA
Q:¿Qué debo hacer si mi IP proxy no funciona cuando la uso?
R: La IP residencial dinámica de ipipgo viene con elFunción de cambio automático, configurado en código para cambiar de IP cada 5 minutos, constante como un perro viejo.
Q:¿Devuelve datos JSON en el código desordenado?
R: En las solicitudes añada unresponse.encoding='utf-8′o simplemente utilice response.content.decode('unicode-escape')
V. guía de selección de paquetes ipipgo
| Tipo de empresa | Escenarios aplicables | Precio ventajoso |
|---|---|---|
| Residencial dinámico (estándar) | Recogida diaria de datos | 7,67 $/GB |
| Viviendas estáticas | Servicios que requieren IP fija | 35/mes/IP |
Una última acción chabacana: usar el ipipgo deAPI SERPAcceso directo a los datos estructurados del motor de búsqueda, incluso se ahorra el esfuerzo de parsear JSON, verdad - ¡desarrollo plano mentiroso!

