
Qu'est-ce qu'un fichier JSON ? Pourquoi en ai-je besoin pour proxyer mon IP ?
Les personnes qui s'engagent dans la collecte de données de vieux fer ont dû voir le fichier JSON, cette chose ressemble à une liste de dictionnaires de poupées russes gigognes. Par exemple, les données de retour du fournisseur de services IP proxy ipipgo ressemblent à ceci :
{
"proxy_list" : [
{"ip" : "123.45.67.89", "port" : 8866, "city" : "Shanghai"}, {"ip" : "98.76.54.32", "port" : 1314, "city" : "Guangzhou"}, {"proxy_list" : [
{"ip" : "98.76.54.32", "port" : 1314, "city" : "Guangzhou"}
], "expire_time" : "expire_time" : "expire_time".
"expire_time" : "2024-12-31"
}
Python pour traiter ce type de données structurées est particulièrement pratique, plus facile que de grignoter des brioches. Beaucoup de sites web ont un mécanisme anti-climbing pour voir les visites fréquentes du bloc IP, cette fois-ci vous devez utiliser ipipgo'sPool d'IP Proxy DynamiqueChangez de gilet à tour de rôle.
Apprendre à charger manuellement du JSON local
Examinons d'abord le scénario le plus simple, à savoir le chargement d'un fichier de configuration d'IP proxy existant localement. Supposons que vous ayez téléchargé la liste des proxy depuis le backend d'ipipgo et que vous l'ayez sauvegardée sous le nom ipipgo_proxies.json.
import json
avec open('ipipgo_proxies.json', 'r', encoding='utf-8') as f.
proxy_data = json.load(f)
for proxy in proxy_data['proxy_list'].
print(f "Proxy disponibles : {proxy['ip']}:{proxy['port']}")
prendre noteencodage des fichiersPour unifier, utiliser utf-8 pour maintenir la paix. Parfois json avec nom de ville chinois, ne pas utiliser cet encodage sera rapporté comme un pro mother do not know.
Obtention dynamique de l'adresse IP du proxy de l'opération de tarification
En pratique, il est plus probable d'obtenir les dernières adresses IP de proxy directement à partir de l'interface API d'ipipgo, qui devrait s'occuper de l'aspectDonnées JSON renvoyées par la requête web. Donnez un exemple de crawler avec changement automatique d'IP :
importer des demandes
import json
def get_ipipgo_proxies() :
api_url = "https://api.ipipgo.com/proxy-pool"
resp = requests.get(api_url)
return json.loads(resp.text)
while True : proxies = get_ipipip
proxies = get_ipipgo_proxies()
current_proxy = proxies['proxy_list'][0] choisir au hasard une IP disponible
print(f "Proxy utilisé : {current_proxy['ip']}")
try.
Ecrivez votre logique de crawler ici
response = requests.get('target site', proxies={
"http" : f "http://{current_proxy['ip']}:{current_proxy['port']}",
"https" : f "http://{current_proxy['ip']}:{current_proxy['port']}"
}, timeout=10)
print("Capture réussie !")
break
except.
print("Cette IP est interdite, passez à la suivante...")
White Frequently Asked Questions (questions fréquemment posées) QA
Q:json.decoder.JSONDecodeError报错咋整?
R : 80 % des données renvoyées ne sont pas au format JSON standard, ce qui peut entraîner un blocage du service de proxy IP. Si vous utilisez ipipgo, leur interface a99.9% Garantie de disponibilitéEn principe, ce n'est pas un problème.
Q : Comment définir l'heure effective du proxy IP ?
R : Regardez le champ expire_time dans le code ci-dessus, le proxy d'ipipgo a pour valeur par défautRafraîchissement automatique de 5 minutesVous n'avez pas à gérer manuellement les délais d'expiration.
| Type d'agent | réactivité | Scénarios recommandés |
|---|---|---|
| Agents libres | à un rythme d'escargot | test d'entraînement |
| ipipgo Premium Agent | niveau de foudre | Acquisition de données de qualité commerciale |
Guide pour éviter les pièges à éviter
1) Lorsqu'il s'agit de JSON imbriqué, il est recommandé d'utiliser d'abord la fonctionjson.dumps(data, indent=2)Imprimez-le pour voir la structure, ne vous contentez pas de l'ignorer.
2) N'oubliez pas d'ajouter la gestion des exceptions lorsque vous obtenez un proxy d'ipipgo, car les fluctuations du réseau peuvent entraîner l'échec de la demande.
3) Dans le cas de restrictions d'accès à haute fréquence, l'adresse IP du proxy et l'adresse IP de l'ordinateur de l'utilisateur peuvent être modifiées.l'en-tête de la requête se fait passer pourcombiner
Enfin, en utilisant le service proxy d'ipipgo avec l'analyse JSON, la collecte de données est aussi facile que de se défoncer. Les membres de l'équipeTrafic 1G gratuit pour les nouveaux utilisateursIl vous suffit de le tester pendant un demi-mois, alors rendez-vous sur le site officiel et jetez-y un coup d'œil.

