
Pratique des requêtes Python avec configuration de l'adresse IP du proxy
Qu'est-ce qui vous effraie le plus lorsque vous faites des crawlers ? Bien sûr, l'IP est bloquée ! La moitié du code durement écrit sera bloqué par le site cible, et vous devrez alors compter sur l'IP proxy pour sauver la situation. Aujourd'hui, nous utilisons la bibliothèque de requêtes de Python pour vous apprendre à utiliser l'IP proxy pour éviter d'être bloqué.
demandes d'importation
proxies = {
'http' : 'http://用户名:密码@ipaddress:port',
'https' : 'https://用户名:密码@adresseip:port'
}
response = requests.get('destination URL', proxies=proxies)
Regardez ça.Dictionnaire des proxysLa première chose à faire est de s'assurer que l'en-tête du protocole n'est pas écrit dans l'autre sens. Beaucoup de débutants tombent parce que les adresses proxy http et https sont confondues, le résultat n'est pas connecté au mort. Recommandé directement avecipipgoL'agent de la famille, leur famille s'est automatiquement adaptée au protocole, ce qui a permis d'épargner beaucoup de cœur.
Trois façons d'ouvrir un proxy IP
Le premier est destiné à un usage temporaire et convient aux scénarios dans lesquels vous devez changer d'adresse IP occasionnellement :
Requête unique utilisant des proxies
requests.get('url', proxies={'http':'http://ip:port'})
Le second est un paramètre global, adapté aux cas où toutes les demandes passent par le proxy :
Paramètres globaux du proxy
session = requests.Session()
session.proxies.update({'http':'http://ip:port'})
La troisième est une rotation automatique, qui devra se faire sur le site de l'Union européenne.ipipgoLe paquet de proxy dynamiques de l'entreprise a également été mis en place. Leur pool de proxy est suffisamment important pour qu'ils ne puissent pas arrêter de changer d'IP automatiquement :
from itertools import cycle
proxy_list = ['ip1:port', 'ip2:port', 'ip3:port'] Remplir la liste des proxies fournis par ipipgo.
proxy_pool = cycle(proxy_list)
Changer automatiquement d'IP pour chaque requête
for _ in range(10) : proxy = next(proxy_pool)
proxy = next(proxy_pool)
requests.get('url', proxies={'http':f'http://{proxy}'})
Un guide pour éviter la fosse (à voir absolument !)
1. réglage du délai d'attenteN'oubliez pas : les serveurs proxy sont souvent malmenés, sans le paramètre timeout, le programme sera bloqué en quelques minutes !
requests.get('url', proxies=proxies, timeout=10)
2. Gestion des exceptionsA mettre en place : il est recommandé d'envelopper la requête avec try-except, et de réessayer automatiquement en cas d'échec de la connexion.
3. Qualité de la propriété intellectuelleLe plus important : trouver son propre agent libre - neuf sur dix ne peuvent pas être utilisés -, recommandé directement avec l'agent libre.ipipgoles agents commerciaux, la disponibilité mesurée peut atteindre 99%
Session pratique d'assurance qualité
Q:Pourquoi ne puis-je pas me connecter alors que mon agent est jumelé ?
R : Vérifiez d'abord le format du proxy, assurez-vous qu'il s'agit bien du format "protocol://IP:port". Si vous utilisez le formatipipgoL'agent doit faire attention à l'arrière-plan de l'exemple de connexion, certains de leurs paquets doivent ajouter le mot de passe du compte !
Q : Comment puis-je savoir si la procuration est active ?
R : Vous pouvez utiliser ce site de test : http://httpbin.org/ip, l'adresse IP de retour a changé, ce qui prouve que le proxy est en vigueur !
Q : Comment utiliser les mandataires dans les scénarios à forte concurrence ?
A : Vers le hautipipgoLe package exclusif de proxy avec multithreading + proxy pooling, permettant de contrôler la fréquence des requêtes
Pourquoi recommandez-vous ipipgo ?
| domination | expression concrète |
|---|---|
| réactivité | Délai moyen <200ms |
| taux de disponibilité | 99.9% Garantie SLA |
| anonymat | Proxy hautement anonyme, complètement imperméable aux X-Forwarded-For |
| le service après-vente | Assistance technique 7×24 heures, pour résoudre les problèmes à tout moment |
Un dernier conseil : utilisezipipgoLe proxy n'oublie pas d'ouvrir son API pour obtenir dynamiquement l'IP, plutôt que d'assurer lui-même la maintenance du pool de proxy, ce qui permet d'éviter bien des maux de cœur. L'enregistrement d'un nouvel utilisateur envoie également un trafic de 10G, suffisamment pour que vous puissiez le tester. Le code est mieux écrit que le proxy est bien choisi, ce n'est vraiment pas soufflant !

