IPIPGO proxy ip Python Requests : Utilisation avancée de la bibliothèque Requests

Python Requests : Utilisation avancée de la bibliothèque Requests

Lorsque nous utilisons Python pour collecter des données, nous sommes souvent confrontés à une situation où le site ne grimpe pas. Dans ce cas, l'IP proxy est une bouée de sauvetage. Prenons un scénario réel : vous voulez attraper le prix d'une plateforme de commerce électronique, des dizaines de visites consécutives à l'IP seront bloquées. A ce moment là, dans les demandes de requêtes...

Python Requests : Utilisation avancée de la bibliothèque Requests

Les demandes d'agents de bibliothèque vont de pair

Lorsque nous utilisons Python pour collecter des données, nous sommes souvent confrontés à une situation d'anti-crawl du site web. À ce moment-là, l'IP proxy est une bouée de sauvetage. Prenons un scénario réel : vous voulez capturer le prix d'une plate-forme de commerce électronique, des dizaines de visites consécutives après l'IP est bloqué. À ce moment-là, dans les requêtes plus les paramètres de proxy, immédiatement peut être ressuscité.


demandes d'importation

proxies = {
    'http' : 'http://用户名:密码@proxy.ipipgo.com:端口',
    'https' : 'http://用户名:密码@proxy.ipipgo.com:端口'
}

resp = requests.get('https://目标网站.com', proxies=proxies)

rappel des clésLes nouveaux arrivants ne s'y retrouveront pas : faites particulièrement attention au nom d'utilisateur et au mot de passe dans le format proxy !http://Préfixe. Si vous utilisez le proxy privé d'ipipgo, n'oubliez pas de générer des informations d'authentification exclusives en arrière-plan, leur temps de survie IP dynamique que les autres parents, mesuré pour être en mesure d'utiliser plus de 2-3 heures.

Conseils et astuces concernant le pool de proxy dynamique

Une seule IP proxy est facile à identifier, nous devons obtenir un pool de proxy à faire tourner. Voici une astuce : utiliser l'objet Session pour conserver la session, tout en changeant de proxy de manière aléatoire. Regardez ce code :


from requests.sessions import Session
import random

classe SmartSession(Session).
    def __init__(self, proxy_list) : super().
        __init__(self, proxy_list) : super(). __init__()
        self.proxy_pool = proxy_list C'est là que vous mettez les multiples proxies fournis par ipipgo.

    def request(self, method, url, kwargs) : super(. __init__().
        kwargs['proxies'] = {'http' : random.choice(self.proxy_pool)}
        return super().request(method, url, kwargs)

 Exemple d'utilisation
proxy_list = [
    'http://ipipgo_user1:pass123@111.222.33.44:8000',
    'http://ipipgo_user1:pass123@112.113.114.115:8000'
]
smart = SmartSession(proxy_list)
response = smart.get('https://需要采集的网站')

De cette manière, chaque demande sélectionnera un proxy de manière aléatoire, et le système de contrôle des vents du site sera difficile à identifier. Il est recommandé d'utiliser le proxy résidentiel dynamique d'ipipgo, dont le pool d'adresses IP est mis à jour chaque jour avec plus de 200 000 adresses, et dont le taux de blocage, testé personnellement, est inférieur de 60 % à celui des IP ordinaires de la salle des serveurs.

Gestion des exceptions des agents selon trois axes

La plupart des maux de tête avec le proxy sont une variété d'erreurs de connexion, ici pour vous enseigner trois moyens sûrs :

1) Mécanisme de rappel en cas de dépassement de délai


from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

retry_strategy = Retry(
    retry_strategy = Retry(
    backoff_factor=1, status_forcelist=[500, 502
    status_forcelist=[500, 502, 503]
)

adapter = HTTPAdapter(max_retries=retry_strategy)
session = requests.Session()
session.mount('https://', adaptateur)

2. la validation du proxy

L'API d'ipipgo peut vérifier directement le trafic restant et l'état de l'IP, ce qui est beaucoup plus rapide que les méthodes traditionnelles.

3. enregistrement des exceptions

Il est recommandé d'envelopper le code de la requête avec un bloc try-except et de noter les IP proxy qui sont hors service. ipipgo dispose d'un panneau de surveillance en temps réel en arrière-plan pour voir directement quels nœuds proxy sont lents à répondre, de sorte qu'il est pratique de les remplacer en temps opportun.

Réponses pratiques à l'AQ

Q:La configuration du proxy est réussie mais la requête est toujours bloquée par le site web ?
A : 80% utilise un proxy transparent de basse qualité, changez pour un proxy de haute qualité d'ipipgo, n'oubliez pas de vérifier si le champ X-Forwarded-For dans l'en-tête de la requête expose l'IP réelle.

Q : Que dois-je faire si l'agent est particulièrement lent ?
R : Testez d'abord la vitesse pour sélectionner les nœuds, le client ipipgo est doté d'une fonction de test de délai. Si vous optez pour un proxy HTTP, vous pouvez activer le streaming des requêtes :stream=Trueaugmente la vitesse de téléchargement de fichiers volumineux.

Q : Que se passe-t-il si je dois faire appel à la fois à des agents nationaux et à des agents étrangers ?
R : Spécifiez les protocoles dans le dictionnaire des proxies, par exemple, les proxies http en Chine et les proxies https à l'étranger. ipipgo prend en charge le filtrage des nœuds par zone géographique, qui est directement ajouté aux paramètres de l'API.country=usIl sera en mesure de trouver des adresses IP américaines.

Jeu avancé : Optimisation des performances des agents

Partagez une astuce pour les pilotes chevronnés : augmentez le débit avec le pooling de connexion. Combiné avec le package Enterprise Proxy d'ipipgo, la performance simultanée mesurée est multipliée par 4 :


from requests.packages.urllib3.util.ssl_ import create_urllib3_context

 Contexte SSL personnalisé
ctx = create_urllib3_context()
ctx.load_default_certs()

 Création d'une session avec mise en commun des connexions
session = requests.Session()
adapter = requests.adapters.HTTPAdapter(
    adaptateur = requests.adapters.HTTPAdapter( pool_connections=50, pool_maxsize=100
    pool_maxsize=100, max_retries=3
    max_retries=3
)
session.mount('https://', adaptateur)

Après ce réglage, les demandes réutiliseront la connexion TCP, ce qui est particulièrement adapté aux scénarios qui requièrent une fréquence élevée de demandes. N'oubliez pas d'activer le "Long Connection Mode" dans l'arrière-plan d'ipipgo, leur serveur proxy prend en charge le keep-alive, ce qui permet d'économiser le temps de handshake 30% par rapport à un proxy normal.

Enfin, ne vous contentez pas de regarder le prix lorsque vous choisissez un service proxy. Comme ipipgo, la technologie de routage intelligent permet de sélectionner automatiquement la ligne optimale. La dernière fois que j'ai effectué une analyse de la concurrence, la vitesse de réponse de leur nœud asiatique peut être stable dans les 80 ms, soit plus de deux fois plus rapide que les marques de second rang.

Cet article a été initialement publié ou compilé par ipipgo.https://www.ipipgo.com/fr/ipdaili/34954.html

scénario d'entreprise

Découvrez d'autres solutions de services professionnels

💡 Cliquez sur le bouton pour plus de détails sur les services professionnels

Vente de fin d'année de nouvelles IP dynamiques 10W+ pour les États-Unis

Fournisseur professionnel de services d'IP proxy étrangers-IPIPGO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

Nous contacter

13260757327

Demande de renseignements en ligne. QQ chat

Courriel : hai.liu@xiaoxitech.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Suivre WeChat
Suivez-nous sur WeChat

Suivez-nous sur WeChat

Haut de page
fr_FRFrançais