
Tout d'abord, pourquoi avons-nous besoin d'inclure l'adresse IP du proxy dans les données JSON ?
Les vieux briscards ont dû rencontrer cette situation : en utilisant Python pour récupérer des données, le site cible vous envoie soudainement un"429 Trop de demandes"La première chose à faire est de mettre la main sur une IP proxy. C'est à ce moment que l'IP proxy va s'avérer utile, comme si l'on jouait à ouvrir un petit numéro, à changer d'identité pour continuer à faire des vagues. Surtout lorsqu'il s'agit d'interfaces JSON, les requêtes fréquentes sont occultées en quelques minutes, en utilisant le pool de proxy d'ipipgo pour faire tourner les IP, tout comme un crawler installé avec une adresseMasque à changement de visage automatique.
import requests
from ipipgo import get_proxy En supposant qu'il s'agit de leur SDK
proxy = get_proxy(type='dynamic') IP résidentielles dynamiques
response = requests.get('https://api.example.com/data', proxies={"https" : proxy})
json_data = response.json()
Deuxièmement, Python joue trois grands tours à JSON
premier mouvementConseils de prévention des avalanches: Envelopper le parsing json avec try-except pour éviter une mort soudaine et violente de l'application.
import json
raw_data = '{"nom" : "Zhang San", "âge" : 28}'
try : data = json.loads(raw_data)
data = json.loads(raw_data)
print(data['address']) Cette clé n'existe pas !
except json.JSONDecodeError : print("La clé n'existe pas !
JSONDecodeError : print("Ce n'est pas du JSON correct !")
except KeyError as e.
print(f "Mec, tu as écrit le mauvais champ : {e}")
deuxième mouvementtoilettage des donnéesLes données peuvent être mises en forme comme un CV en étoile en utilisant le paramètre indent de json.dumps :
ugly_data = {"company" : "ipipgo", "services" :["Proxy IP", "Cloud Server"]}
print(json.dumps(ugly_data, indent=2, ensure_ascii=False))
C. Proxy IP avec JSON Manuel pratique
Avec ipipgo.Agent de ligne TKLorsque vous le faites, n'oubliez pas de mettre en place un mécanisme de temporisation et de réessai, et le code doit être écrit de cette manière :
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('data'))
except Exception as e.
print("Request pounced, change IP and keep going !")
Quatre, blanc, scène de renversement commune AQ
Q:Que dois-je faire si mon IP proxy ne fonctionne pas lorsque je l'utilise ?
R : L'IP résidentielle dynamique d'ipipgo est livrée avec l'optionFonction de changement automatiqueIl est configuré dans le code pour changer d'IP toutes les 5 minutes, comme un vieux chien.
Q:Returned JSON data in the messy code ?
R : Dans les demandes, ajoutez unresponse.encoding='utf-8′ou simplement utiliser response.content.decode('unicode-escape')
V. guide de sélection des paquets ipipgo
| Type d'entreprise | Scénarios applicables | Avantage tarifaire |
|---|---|---|
| Dynamique résidentielle (standard) | Collecte quotidienne de données | 7,67 $/GB |
| Maisons statiques | Services nécessitant un IP fixe | 35/mois/IP |
Une dernière action peu glorieuse : l'utilisation de l'outil ipipgoAPI SERPAccès direct aux données structurées des moteurs de recherche, même l'effort d'analyse JSON est épargné, véritable développement à plat !

