
Les IP proxy sont vos airbags lorsque les crawlers s'attaquent aux contre-crawlers.
Do crawl le vieux fer a dû vivre une telle scène magique : hier aussi remontait le script, aujourd'hui soudain paralysé. Le serveur renvoie le code d'erreur 403 comme une mitrailleuse vous éclate, cette fois pour sortir le proxy IP cette arme magique. Prenons la famille ipipgo de pool de proxy dynamiques, leur mécanisme de rotation peut faire de votre demande comme un visage d'opéra du Sichuan, chaque fois que vous visitez un nouveau visage.
demandes d'importation
proxies = {
'http' : 'http://username:password@gateway.ipipgo.com:9020',
'https' : 'http://username:password@gateway.ipipgo.com:9020'
}
response = requests.get('https://target-site.com', proxies=proxies)
Le nom d'utilisateur et le mot de passe dans le bloc de code ci-dessus doivent être remplacés par les informations d'authentification que vous avez reçues dans le backend d'ipipgo. Faites attention au numéro de port 9020, c'est leur port d'attache spécifique pour les utilisateurs de Python afin d'ouvrir un canal vert, plus de 30% plus stable que le port général.
Choisir une IP proxy, c'est comme acheter des produits d'épicerie, la fraîcheur fait la différence entre le succès et l'échec.
Il existe de nombreux fournisseurs de services proxy sur le marché, mais peu d'entre eux sont fiables. J'ai résumé une liste dele principe des trois regards (dans de nombreux contextes): :
| norme | la ligne ou la note de passage (dans un examen) | ipipgo real test |
|---|---|---|
| Temps de survie IP | 3-5 minutes | Remplacement obligatoire en 2 minutes |
| taux de disponibilité | 90% | 99.2% |
| réactivité | 800 ms | 230 ms |
Mention spéciale à ipipgo'sMécanisme de préchauffage IPLeur pool de proxy sera adapté à l'avance aux sites web les plus populaires. Par exemple, si vous souhaitez escalader une plateforme de commerce électronique, le système attribuera automatiquement les IP qui ont récemment visité le site avec succès, et cette astuce peut permettre d'économiser 30 % du coût des essais et des erreurs.
Guide pratique pour éviter les pièges : ne laissez pas les erreurs de bas niveau ruiner vos scripts
J'ai vu trop de cas de personnes utilisant des IP proxy comme des tamis, voici deux points de passage à haute fréquence :
1. les réglages du délai d'attente sont trop simples
Exemple de bogue : le délai d'attente est fixé à 3 secondes
requests.get(url, proxies=proxies, timeout=3)
Bonne posture : définir le délai par étapes
from requests.adapters import HTTPAdapter
session = requests.Session()
session.mount('http://', HTTPAdapter(max_retries=3))
session.mount('https://', HTTPAdapter(max_retries=3))
response = session.get(url, proxies=proxies, timeout=(3, 7))
2. l'en-tête de la requête a oublié de dissimuler
Même si vous utilisez une IP proxy, le User-Agent est toujours clairement python-requests, n'est-ce pas comme coller "I'm a crawler" sur votre tête ? Il est recommandé d'utiliser la bibliothèque fake_useragent :
from fake_useragent import UserAgent
headers = {'User-Agent' : UserAgent().random}
séance de questions-réponses
Q : Que dois-je faire si l'IP proxy ne fonctionne pas après l'avoir utilisé ?
R : Cette situation est due à quatre-vingt pour cent à une mise à jour tardive du pool IP ; la solution d'ipipgo est la rotation à double canal. Ajouter un mécanisme de tentative d'exception dans le code pour changer automatiquement le point d'accès alternatif :
proxy_list = [
'gateway.ip ipgo.com:9020',
'backup.ipipgo.com:9021'
]
Q : Quel est le moyen le plus sûr de contrôler la fréquence des déplacements à quatre pattes ?
R : Ne soyez pas stupide d'utiliser time.sleep(1), il est recommandé d'utiliser un délai aléatoire + une double assurance de contrôle de flux. Le backend ipipgo peut définir le paramètreseuil de débitLe fait de dépasser la valeur fixée déclenche automatiquement des fusibles, ce qui est beaucoup plus souple que de l'écrire à mort dans le code.
Q : Comment casser le CAPTCHA lorsque je le rencontre ?
A : Vérifiez d'abord si l'IP du proxy est exposée, avec la grande réserve de proxys d'ipipgo, vous pouvez contourner 90% du CAPTCHA. Le reste du hardcore peut être combiné avec des bibliothèques de reconnaissance OCR, telles que ddddocr the god.
Un dernier mot de vérité.
L'IP proxy n'est pas une panacée, mais le choix du bon fournisseur de services peut multiplier par plus de cinq la durée de vie du crawler. J'ai utilisé sept ou huit fournisseurs et, en fin de compte, ipipgo est le plus résistant. Il dispose d'unCompensation automatique anormale de l'IPLe mécanisme, en cas d'IP non valide, rattrapera automatiquement le temps passé sur le compte, ce genre d'opération consciencieuse dans l'industrie n'est vraiment pas courant.
J'ai appris récemment qu'ils étaient en ligneciblage géographiqueCette fonction, telle que l'accès spécial à l'adresse IP résidentielle d'une ville, a permis, la semaine dernière, d'examiner la collecte de données sur les commerçants du site ; grâce à cette fonction, il est possible de contourner directement les restrictions géographiques, ce qui permet de doubler l'efficacité. Si vous avez besoin de l'ancien fer à repasser, vous pouvez aller sur le site officiel pour jeter un coup d'œil, les nouveaux utilisateurs peuvent envoyer un paquet d'expérience de flux 3G, suffisant pour exécuter un petit projet.

