
Des exercices pratiques vous apprennent à utiliser un proxy IP pour éviter le blocage.
Il y a deux jours, je viens d'écrire un script de collecte de données sur une plate-forme, qui a fonctionné moins d'une demi-heure sur la pointe de "l'accès à l'anormal", tellement en colère que je suis tombé sur place sur le clavier. Plus tard, j'ai découvert que l'utilisation de l'IP proxy est le roi de la route, ici pour vous donner mon expérience de combat de harcèlement.
Par exemple, lorsque vous utilisez la bibliothèque de requêtes pour récupérer des données, c'est comme si vous vous promeniez nu sur l'internet sans proxy. Le webmaster verra la même IP faire des requêtes frénétiques et vous mettra sur liste noire en quelques minutes. À ce stade, vous devez donner à chaque requêtePortez un gilet différent.C'est également ce que l'on appelle passer d'une IP proxy à l'autre.
import requests
from bs4 import BeautifulSoup
proxies = {
'http' : 'http://username:password@gateway.ipipgo.com:9020',
'https' : 'http://username:password@gateway.ipipgo.com:9020'
}
response = requests.get('https://目标网站.com', proxies=proxies)
soup = BeautifulSoup(response.text, 'html.parser')
Ecrire la logique d'analyse ici...
Comment choisir un proxy IP fiable ?
Il existe toutes sortes de proxies sur le marché, et j'en ai comparé sept ou huit, mais j'ai finalement opté pour l'IP résidentielle dynamique d'ipipgo. pourquoi l'avez-vous choisi ? En trois mots :Stable, rapide et économique. Leurs pools d'IP sont tous des IP domestiques à large bande, plus difficiles à reconnaître que les IP des salles de serveurs, et toujours moins chères que leurs homologues à environ 20%.
Voici un tableau comparatif pour une meilleure visualisation :
| typologie | Scénarios applicables | Avantage tarifaire |
|---|---|---|
| Dynamique résidentielle (standard) | Collecte de données de routine | 7,67 $/GB |
| Dynamic Residential (Entreprise) | Exigences en matière de visites fréquentes | 9,47 Yuan/GB |
| Maisons statiques | Besoins fixes à long terme en matière de propriété intellectuelle | 35 $/mois |
Trois guides pour éviter les pièges dans le monde réel
Fosse 1 : Absence de traitement des défaillances des mandataires. Il est recommandé d'utiliser le décorateur retry pour réessayer automatiquement, j'ai l'habitude de mettre 3 réessais + des proxies à coupure aléatoire :
from tenacity import retry, stop_after_attempt
@retry(stop=stop_after_attempt(3))
def crawl_page(url).
Obtenir un nouveau proxy pour chaque tentative
current_proxy = get_random_proxy()
return requests.get(url, proxies=current_proxy)
Fosse 2 : Demande de révélation de l'identité de la tête. N'oubliez pas de générer un User-Agent aléatoire pour chaque requête, ne laissez pas le site voir un modèle. J'ai mis en place une bibliothèque d'UA, contactez-moi si vous en avez besoin.
Puits 3 : Absence de vérification de la qualité de l'agent. Il est recommandé d'exécuter un script de test avant que le crawler ne démarre, je prends habituellement httpbin.org/ip pour vérifier que le proxy fonctionne.
Questions fréquemment posées
Q : Que dois-je faire si mon agent est lent ?
R : La priorité est donnée aux ressources de l'opérateur local, comme l'ascension de la station domestique avec le nœud d'ipipgo en Chine orientale. En plus de vérifier si le proxy HTTPS est utilisé pour passer une requête HTTP, le protocole doit correspondre.
Q : Comment gérer un grand nombre d'adresses IP de proxy ?
R : Utilisez redis pour stocker les pools d'IP et enregistrer le nombre de fois où chaque IP est utilisée ainsi que le temps de réponse. Il est recommandé de se référer à cette structure :
{
"ip" : "112.95.23.61:8080",
"used_count" : 3,
"used_count" : 3, "last_speed" : 0.78,
"last_check" : "2024-03-15 14:30"
}
Q : Comment casser le CAPTCHA lorsque je le rencontre ?
R : Cette question relève d'un autre sujet. Pour faire simple, vous pouvez combiner le proxy dédié TK d'ipipgo (leur caractéristique unique) pour traiter automatiquement les types de CAPTCHA les plus courants.
Enfin, j'aimerais vous rappeler que vous devez vérifier la stabilité à long terme du service proxy. J'ai déjà utilisé le service mensuel 9,9, mais la durée moyenne de survie de l'IP était inférieure à 5 minutes. Maintenant, avec l'offre entreprise d'ipipgo, une seule IP peut être utilisée pendant plus de 2 heures, ce qui représente un coût moindre. Il est conseillé aux nouveaux utilisateurs d'acheter leur version standard dynamique pour essayer l'eau, plus de 7 yuans de trafic 1G suffisant pour exécuter un petit projet.

