
Lorsque le crawler rencontre Selenium : ne peut pas contourner les restrictions IP du problème
Les anciens qui ont fait du web crawling savent que l'automatisation du navigateur avec Selenium est pratique, mais il y a un mal de tête - leL'IP est bloquée au point que l'on ne connaît même pas sa propre mère.La première chose à faire est de faire fonctionner le site web. En particulier lorsque vous devez visiter un grand nombre de sites web, une seule IP revient à marcher sur une corde raide et peut être bloquée à tout moment. Cette fois, nous devons sortir notre sauveur : le service de proxy IP.
La semaine dernière, un ami d'un site web de comparaison de prix s'est plaint à moi qu'il utilisait Selenium pour collecter des données de commerce électronique, et qu'en conséquence, il était continuellement banni pour plus de 10 IP. Plus tard, il a changé pour une solution de proxy IP rotatif, avec le proxy résidentiel dynamique d'ipipgo, le taux de réussite de la collecte a directement grimpé de 30% à 95%. qu'est-ce que cela veut dire ? Choisir le bon service de proxy peut vraiment vous sauver la vie !
Pratique avec le gilet de Selenium
La mise en place d'un proxy sur le navigateur est en fait extraordinairement simple, et il s'agit deConfiguré pour différents types de navigateursLe Chrome le plus populaire est utilisé comme exemple. Voici un exemple de Chrome le plus utilisé :
from selenium import webdriver
proxy = "proxy.ipipgo.com:8000" Utilisez l'adresse du proxy d'ipipgo ici.
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server=http://{proxy}')
N'oubliez pas de modifier le chemin du pilote du navigateur local
driver = webdriver.Chrome(options=chrome_options)
driver.get("http://example.com")
Attention aux trois retournements faciles :
- Ne pas écrire d'en-tête de protocole pour les adresses proxy (http://要放在参数里)
- S'il s'agit d'un proxy https, vous devez configurer un plugin d'authentification supplémentaire.
- N'oubliez pas de donner l'ipipgo en coulissesIP sur liste blancheAjoutez-le à l'avance.
La méthode de configuration des quatre diamants pour les IP proxy
| prendre | Configuration | Application |
|---|---|---|
| mandat unique | codage en dur | L'environnement de test utilise |
| courir | Lecture du fichier de configuration | Essentiel pour les environnements formels |
| commutation dynamique | Accès en temps réel à l'API | Scène de haute sécurité |
| déploiement distribué | Programmation des pools d'agents | Cluster Crawler |
Concentrez-vous ici sur la solution de commutation dynamique. Utilisez l'API d'ipipgo pour obtenir le dernier proxy, et changez l'IP chaque fois que vous ouvrez une nouvelle instance de navigateur, de sorte que même les cookies soient actualisés pour vous :
demandes d'importation
def get_proxy() : resp = requests.get("")
resp = requests.get("https://api.ipipgo.com/proxy-pool")
return resp.json()['proxy']
Guide pratique pour éviter la fosse
Cinq erreurs courantes commises par les débutants :
- Penser que la mise en place d'un proxy est la seule chose qui compte (il faut en fait tester l'IP pour voir si elle fonctionne).
- Le délai d'attente de l'agent n'est pas géré (délai d'attente de 15 secondes recommandé).
- Oubli du nettoyage des empreintes digitales du navigateur (avec ipipgo)Agent résidentiel(plus d'assurance)
- Comptes de connexion dupliqués avec la même IP (résolu avec le détournement du pool de proxy)
- Pas de surveillance de la disponibilité des adresses IP (il est recommandé de vérifier toutes les heures l'état du pool de serveurs mandataires).
Foire aux questions QA
Q : Je ne peux pas accéder à la page web bien que le proxy soit correctement configuré.
R : Vérifiez d'abord si l'IP est activée dans la console ipipgo, puis utilisez la commandedriver.get("http://ip.ipipgo.com")Vérifier l'IP de sortie réelle
Q : Le mode sans tête nécessite-t-il des réglages particuliers ?
R : La méthode de configuration est exactement la même, mais il est recommandé d'activer la fonctionMode sans traceÉviter les interférences avec la mémoire cache
Q : Que dois-je faire si je tombe sur un site web qui demande une vérification humaine ?
R : Dans ce cas, il est recommandé de changer le mode de fonctionnement d'ipipgoAgents de salle de serveurs de haute qualitéou réduire la fréquence d'acquisition
La porte d'entrée pour choisir les services d'une agence
Il existe toutes sortes de services d'agence sur le marché, mais il y a trois règles incontournables :
- Vérifier la prise en charge du protocole (SOCKS5/HTTP doit être complet)
- Mesure du temps de réponse (moins de 200 ms de préférence)
- Vérifier la pureté de l'IP (recommander ipipgo)Agents de la classe affaires)
Une dernière chose à savoir : lorsque vous collectez avec Selenium+proxy, n'oubliez pas de mettre l'optionLangue du navigateurrépondre en chantantréglage du fuseau horaireRéglé sur la région de l'IP proxy, de sorte que le mécanisme anti-escalade est plus difficile à identifier. Ce détail n'est pas connu de beaucoup de gens, mais le test réel peut réduire la probabilité d'interdiction de 30%.

