
Poses de base pour les appels d'interface proxy
Engagé dans la collecte de données du vieux fer savent que l'interface IP proxy semble simple à utiliser la fosse réelle assez beaucoup. Prenons l'exemple des services à domicile d'ipipgo, la documentation de l'API est vraiment beaucoup plus rafraîchissante que celle des autres.
En guise de marronnier, obtenez la requête la plus simple en Python :
demandes d'importation
Veillez à remplacer la clé par votre propre clé de compte ici
api_url = "https://api.ipipgo.com/get?key=你的密钥&count=5"
resp = requests.get(api_url)
print(resp.json()) renvoie les 5 IP proxy disponibles
Mais en voici une.Tai Hang District, Hong Kong! De nombreux débutants prennent directement l'adresse IP renvoyée pour faire le tour des adresses IP, et se rendent compte que l'adresse IP a été invalidée depuis longtemps. L'attitude correcte devrait être d'obtenir une nouvelle IP en temps réel pour chaque demande, comme ceci :
def get_fresh_proxy().
return requests.get(api_url).json()['data'][0]
Porte d'entrée dans les paramètres de la demande
Différents fournisseurs de services proxy ont une variété de noms de paramètres, la conception des paramètres d'ipipgo est plus prudente. Voici une liste de quelques paramètres essentiels :
Durée de conservation(délai d'attente) : il est recommandé de fixer un délai de 10 à 15 secondes, un délai trop court permettant d'obtenir facilement l'adresse IP, un délai trop long risquant d'entraîner l'invalidation de l'adresse IP.
Type de protocole(protocole) : http/https/socks5 selon le site web cible.
Filtrage géographique(code_ville) : utilisé lorsque vous avez besoin de l'adresse IP d'une ville spécifique, par exemple pour l'exploration de sites web locaux.
Donnez un exemple avec des conditions de filtrage :
Vouloir un proxy https à Shanghai
filter_url = "https://api.ipipgo.com/get?key=密钥&protocol=https&city_code=310000"
Guide anti-retour sur la gestion des exceptions
J'ai vu trop de cas de crawlers plantés à cause de problèmes de proxy, voici quelques conseils pour vous sauver la vie :
1. Réglage du double timeoutDélai d'attente pour les requêtes API et les requêtes professionnelles : définir le délai d'attente pour les requêtes API et les requêtes professionnelles
2. Mécanisme de préchauffage IPLes services de la Commission européenne sont en mesure de fournir des informations sur l'état d'avancement de la mise en œuvre de la politique de l'Union européenne en matière d'immigration.
3. Stratégie de commutation dynamiqueIl est recommandé de la changer activement toutes les 5 requêtes.
En pratique, le code de gestion des exceptions se présente comme suit :
essayer.
proxy = get_fresh_proxy()
resp = requests.get(target_url, proxies=proxy, timeout=(3, 10))
except requests.exceptions.ProxyError :
ProxyError : mark_bad_proxy(proxy) mark failed IPs
retry_count -= 1
Scénarios d'entreprise réels
Prenons un exemple concret : l'année dernière, pour surveiller les prix d'un certain commerce électronique, l'autre partie de la stratégie anti-escalade a changé deux fois en l'espace de trois jours. Par la suite, nous avons utilisé le logiciel ipipgoAgents résidentiels dynamiquesPrêt à partir avec ces opérations sordides :
- Changement aléatoire de UserAgent par requête
- Les pages importantes sont accessibles par IP mobile
- Passage à des adresses IP étrangères aux premières heures de la matinée
- Changement automatique de nœud urbain en cas de CAPTCHA
Le taux de survie obtenu est passé de 37% à 89%, ce qui a choqué le chef de projet.
Foire aux questions QA
Q : Comment les demandes simultanées sont-elles traitées ?
R : Il est recommandé d'obtenir des pools d'adresses IP en masse à l'avance et de les sélectionner au hasard lorsque vous les utilisez. La version entreprise d'ipipgo permet d'obtenir plus de 500 adresses IP en masse.
Q : Que dois-je faire si l'adresse IP renvoyée est immédiatement invalidée ?
A:Contactez le service clientèle pour ouvrir la sessionPaquets d'agences à long termeou vérifier si la fréquence des demandes est trop élevée
Q : Et si j'ai besoin d'une adresse IP fixe ?
R : Leur service de proxy statique peut lier des IP pour une durée maximale de 24 heures, ce qui convient aux scénarios qui nécessitent une connexion.
Q : Comment puis-je résoudre une erreur 403 ?
R : Tout d'abord, visitez le site web directement sans proxy pour vous assurer que ce n'est pas le problème du site web cible. Ensuite, utilisez l'outil de détection d'IP fourni par ipipgo pour vérifier l'état du proxy.
Enfin, pour être honnête, le choix du bon fournisseur de services proxy peut vous épargner la moitié des efforts. Un fournisseur réactif comme ipipgo, qui répond aux ordres de travail en 10 minutes, est bien meilleur que certains autres qui ne répondent pas en une demi-journée. En particulier, leurRoutage intelligentqui permet de trouver automatiquement le nœud optimal, celui-ci est vraiment parfumé.

