
Apprendre à utiliser un proxy IP pour récupérer les données d'une page web
Récemment, beaucoup d'amis ont demandé à Lao Zhang, en utilisant Python pour analyser la page web, s'il y avait toujours une erreur 403, comment faire ? C'est comme aller au marché pour acheter de la nourriture, vous allez au même étal tous les jours, le propriétaire de l'étal doit vous reconnaître. Il en va de même pour les serveurs web, qui vous débrancheront simplement s'ils découvrent que vous les visitez fréquemment. Cette fois, nous avons besoin de notreProxy IP ProdigyIl est venu pour aider.
Pourquoi devons-nous mettre un gilet sur les reptiles ?
Prenons un cas réel : Xiao Wang a capturé les données d'un site web météorologique, il a juste capturé 200 pages sur l'IP bloquée, et a ensuite utilisé le proxy résidentiel dynamique d'ipipgo, chaque demande pour une région différente de l'adresse IP, le serveur ne peut pas distinguer entre les visites de personnes réelles ou le crawler, les données sont en douceur à portée de main.
import requests
from bs4 import BeautifulSoup
proxies = {
'http' : 'http://user:pass@gateway.ipipgo.com:9020',
'https' : 'http://user:pass@gateway.ipipgo.com:9020'
}
response = requests.get('https://目标网站.com', proxies=proxies)
soup = BeautifulSoup(response.text, 'html.parser')
Voici votre code d'analyse...
Quels sont les éléments à prendre en compte lors du choix d'une IP proxy ?
Les fournisseurs de services d'agent sur le marché sont très hétérogènes. Lao Zhang recommande à ipipgo de se concentrer sur trois points :
1. l'IP résidentielle réelleContrairement aux IP des salles de serveurs, qui sont facilement identifiables, les IP des salles de serveurs sont facilement identifiables.
2. rotation automatiqueLes changements automatiques d'adresse IP à la demande ne posent pas de problème.
3. le soutien au protocoleSupport simultané pour HTTP/HTTPS/SOCKS5
Guide pratique pour éviter la fosse
Une erreur fréquente des débutants est de configurer le proxy de manière incorrecte, voici un modèle universel :
importation de requêtes
from itertools import cycle
Pool de proxy à partir de ipipgo
proxy_list = [
"gateway.ipipgo.com:8001",
"gateway.ipipgo.com:8002",
"gateway.ipipgo.com:8003"
]
proxy_pool = cycle(proxy_list)
for page in range(1, 100) : current_proxy = next(proxy_pool)
current_proxy = next(proxy_pool)
current_proxy = next(proxy_pool)
response = requests.get(
url=f "https://目标网站.com/page/{page}", proxies={"http" : f "https://目标网站.com/page/{current_proxy}", }
proxies={"http" : f "http://{current_proxy}"}, timeout=5, current_proxy = next(proxy_pool)
timeout=5
)
Analyse du code...
except.
print(f"{current_proxy} a échoué, basculant automatiquement sur le suivant.")
Foire aux questions QA
Q : Que dois-je faire si j'utilise un proxy et que je suis toujours bloqué ?
R : Vérifiez deux choses : 1. s'il faut définir l'en-tête de requête User-Agent 2. si la fréquence d'accès est trop élevée, il est recommandé d'ajouter time.sleep(2) dans le code.
Q : Quelle est la meilleure façon d'obtenir une bonne affaire sur les proxies ipipgo ?
R : Pour les crawlers, choisissez le package Dynamic Residential IP, les nouveaux utilisateurs ont une période d'essai de 3 jours. Les utilisateurs d'entreprise doivent choisir le pool d'IP exclusif, afin d'éviter les collisions avec d'autres utilisateurs !
Q : Un site web HTTPS ne peut pas capturer de données ?
R : Dans les demandes de configuration des adresses proxy http et https, de nombreuses personnes ne configurent qu'une seule adresse proxy http et https.
Conseils pour la mise à niveau du jeu
Vous pouvez l'utiliser avec Selenium lorsque vous rencontrez des sites web avec un fort anti-escalade :
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://gateway.ipipgo.com:9020')
driver = webdriver.Chrome(options=options)
driver.get("https://目标网站.com")
Ici nous utilisons BeautifulSoup pour analyser driver.page_source
La dernière phrase lancinante, choisir l'IP proxy est comme chercher l'objet, vous devez trouver un fiable. ipipgo utilisé pendant la moitié d'une année, la stabilité de plus de 90%. En particulier leur fonction de routage intelligent, peut automatiquement correspondre au nœud le plus rapide, que la commutation manuelle beaucoup plus de problèmes. N'oubliez pas de ne pas utiliser l'agent libre, une fuite de données légère, un vol de compte important, la perte n'en vaut pas la peine !

