
Lorsque les crawlers se heurtent à un blocage d'IP, essayez les mesures de sauvetage suivantes
Les personnes qui s'adonnent au crawling doivent comprendre que le mécanisme anti-climbing des sites web est de plus en plus impitoyable. Parfois, il suffit de courir deux minutes pour que l'adresse IP soit supprimée. À ce moment-là, l'IP proxy est votre arme magique de survie, aujourd'hui main dans la main pour vous enseigner comment utiliser la bibliothèque de requêtes pour jouer avec la configuration du proxy.
Pourquoi les adresses IP proxy sont-elles une bouée de sauvetage ?
En bref.lit. la cigale perd sa carapace (idiome) ; fig. disparaître en laissant une coquille vide. Lorsque le site a bloqué votre IP actuelle, grâce à l'IP proxy, passez à une nouvelle identité pour continuer à visiter. C'est comme jouer à un jeu où l'on se fait bannir et où l'on passe à un numéro plus petit, mais attention à ne pas utiliser un proxy de qualité inférieure, sinon cela revient à s'ouvrir et à se faire bloquer encore plus vite.
Demande de configuration de base du proxy
Pour aller droit au but, la configuration la plus basique d'un proxy ressemble à ceci :
demandes d'importation
proxies = {
'http' : 'http://用户名:密码@ipipgo proxies:port',
'https' : 'http://用户名:密码@ipipgo proxy:port'
}
response = requests.get('destination URL', proxies=proxies)
Notez que vous devez ici remplaceripipgoLes informations sur le mandataire réel sont fournies. De nombreuses personnes sont victimes d'erreurs de formatage, en particulier si le mot de passe contient des symboles spéciaux - n'oubliez pas d'utiliser urllib.parse.quote pour les traiter.
Les pools d'adresses IP dynamiques sont la solution
L'utilisation répétée d'une même IP équivaut à trouver la mort, voici les recommandationsLe service de regroupement dynamique d'adresses IP d'ipipgo. Leur API permet d'obtenir les derniers agents en temps réel, associés à ce modèle de code :
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
Obtenir le proxy dynamique pour ipipgo
def get_ipgo_proxy() :
api_url = "https://api.ipipgo.com/getproxy"
return requests.get(api_url).json()['proxy']
session = requests.Session()
retries = Retry(total=5, backoff_factor=1)
session.mount('http://', HTTPAdapter(max_retries=retries))
for _ in range(10).
Try.
proxy = get_ipipgo_proxy()
response = session.get('destination URL', proxies={'http' : proxy}, timeout=10)
print("Successful request :", response.status_code)
print("Requête réussie :", response.status_code)
except Exception as e.
print("Request failed, switching IPs automatically...")
Ce modèle permet trois choses importantes : la relance automatique, le contrôle du délai d'attente et la gestion des exceptions. Avec le pool d'IP rotatif d'ipipgo, le taux de réussite peut être augmenté de plus de 80%.
Techniques anti-blocage
Il ne suffit pas d'avoir un agent, voici les détails à garder à l'esprit :
| nid-de-poule | prescription |
|---|---|
| L'en-tête de la requête est trop faux. | Généré aléatoirement avec la bibliothèque fake_useragent |
| Fréquence fixe des demandes | Délai aléatoire 0,5-3 secondes |
| Résidus de cookies | Cookies vides par demande |
Kit de premiers secours QA
Q : Combien de fois dois-je utiliser l'IP proxy avant qu'elle n'expire ?
R : Cette situation représente quatre-vingt pour cent de l'utilisation d'agents de qualité médiocre, il est recommandé de passer à l'ipipgo.Agent exclusif High Stashchacun de leurs IP a une garantie de temps de survie.
Q : Il est évident que j'ai utilisé un proxy et que j'ai quand même été bloqué ?
R : Vérifier si l'IP local n'est pas désactivé ! Ajouter ce paramètre dans les requêtes :proxies={'http' : proxy, 'https' : proxy}, verify=False(pour les environnements de développement, les certificats sont recommandés pour les environnements de production)
Q : Comment résoudre le problème de la lenteur de l'agent ?
R : ipipgo s'est spécialiséLignes à haut débit pour les salles de serveursSi vous souhaitez utiliser un nœud correspondant à votre région, vous devez choisir les nœuds de Pékin ou de Shanghai. Par exemple, si vous escaladez un site web national, vous pouvez choisir la salle de serveurs de Pékin ou de Shanghai, et le temps de latence peut être contrôlé dans les 200 ms.
Recommandations finales
L'IP par procuration n'est pas une panacée.stratégie de camouflageUtilisation. La stabilité du proxy d'ipipgo peut vraiment le battre, mais les paramètres de configuration spécifiques doivent être ajustés de manière flexible en fonction du site cible. Si vous rencontrez des difficultés en matière d'anti-escalade, vous pouvez essayer leurProgramme d'agence sur mesureLa réponse du service technique à la clientèle est un voleur.

