
La pratique vous apprend à jouer de nouveaux tours au JSON local du proxy.
Le vieux fer à repasser engagé dans le crawling doit avoir rencontré cette situation : le dur travail d'écriture de scripts s'est soudainement arrêté, vérifier les journaux pour trouver que l'IP était le site cible a tiré le noir. En ce moment, si vous avez un lot deLes IP proxy qui sont en vie et en pleine formeLa première chose à faire est de boire du Red Bull. Aujourd'hui, nous allons utiliser Python + JSON, cette paire de partenaires en or, pour vous apprendre à utiliser le traitement local des données et le proxy IP pour voler.
I. Pool de mandataires pour la configuration locale JSON
Commençons par un seul.proxy_config.jsonen organisant nos adresses IP de manière claire :
{
"ipipgo_proxies" : [
"121.36.77.198:8000",
"112.85.129.61:8000",
"117.90.5.138:8000"
), "retry_times" :", "retry_times".
"retry_times" : 3, "timeout" : 8, "timeout" : 8
"timeout" : 8
}
On notera ici l'utilisation deipipgoGrâce à la qualité du proxy fourni, le taux de survie de l'IP familiale peut atteindre 99%, ce qui est plus fiable que l'IP sauvage ramassée sur le bord de la route. Le code pour charger la configuration ressemble à ceci :
import json
avec open('proxy_config.json') as f.
config = json.load(f)
proxy_pool = config['ipipgo_proxies']
La commutation dynamique d'IP en pratique
Avec le pool de proxy, nous disposons de l'ensemble de l'opération de commutation aléatoire. Démonstration avec la bibliothèque des requêtes :
Importation de l'aléatoire
importer des demandes
def get_with_proxy(url): : for _ in range(config['retry_times'])
for _ in range(config['retry_times']): : proxy = random.choice(proxy_pool).
proxy = random.choice(proxy_pool)
try.
response = requests.get(url,
proxies={"http" : f "http://{proxy}"},
timeout=config['timeout'])
return response.text
except Exception as e.
print(f"{proxy} est en panne, passez au suivant !")
return None
Cette routine est particulièrement adaptée aux personnes qui ont besoin delongue durée de fonctionnementPar exemple, si vous surveillez les fluctuations des prix des marchandises, vous serez reconnu en quelques minutes avec une IP fixe. Par exemple, si vous surveillez les fluctuations des prix des marchandises, vous serez reconnu en quelques minutes avec une IP fixe, mais avec l'IP dynamique d'ipipgo, c'est comme si vous portiez une cape d'invisibilité.
III. conseils pour la gestion des exceptions
Gardez ces trois points à l'esprit lorsque vous traitez avec les FAQ des agents :
| symptomatique | antidote |
|---|---|
| Délai de connexion | Augmenter le délai d'attente à 8-10 secondes si nécessaire |
| échec de l'authentification | Vérifier que le format de la procuration est correct |
| Réponse lente | Mise à jour en temps utile de la réserve d'agents |
Il est recommandé de recharger automatiquement le fichier de configuration toutes les deux heures pour garantir la fraîcheur des IP. L'API d'ipipgo peut obtenir la dernière IP en temps réel et la mettre à jour directement dans le JSON.
IV. collecte pratique de l'assurance qualité
Q : Que dois-je faire si je signale une erreur d'encodage lors du chargement d'un fichier JSON ?
R : Spécifiez utf-8 avec le paramètre encoding :open('file.json', encoding='utf-8')
Q : Que dois-je faire si les adresses IP du proxy se bloquent soudainement ?
R : Dépêchez-vous d'aller sur le site web d'ipipgo pour glaner de nouvelles adresses IP. Leur service clientèle, disponible 24 heures sur 24, est plus rapide qu'un livreur de plats à emporter.
Q : Comment puis-je savoir si un agent est très anonyme ?
R : Utilisez ce site de test : http://httpbin.org/ip, s'il renvoie une IP proxy au lieu d'une IP locale, cela signifie que l'anonymat d'ipipgo est fiable.
V. Recommandations pour la mise à niveau des jeux
Enregistrer les journaux des agents dans un fichier JSON en vue d'une analyse ultérieure :
def log_proxy(proxy, status).
with open('proxy_log.json', 'r+') as f.
data = json.load(f)
data[proxy] = status
f.seek(0)
json.dump(data, f, indent=2)
Analysez régulièrement les fichiers journaux et éliminez les IP qui sortent constamment du pool de proxy. L'utilisation du paquet d'IP exclusif d'ipipgo vous évitera bien des maux de tête, le volume quotidien moyen de requêtes d'une seule IP pouvant aller jusqu'à 50 000 fois, ce qui est beaucoup plus résistant à la construction qu'une IP partagée.
La dernière chose que je voudrais dire est que vous ne devriez pas essayer d'obtenir un service proxy bon marché. Avant j'ai utilisé 9,9 agent mensuel faisan, 10 IP 8 sont mauvais. ipipgo bien que le prix n'est pas le plus bas, mais gagne dans la stabilité de l'inquiétude, hors du problème de service à la clientèle secondes de retour, adapté pour les frères de projet sérieux.

