
Que se passe-t-il lorsqu'un crawler se heurte à un mécanisme anti-crawler ?
Récemment, plusieurs amis qui font de la collecte de données se sont plaints qu'ils étaient toujours bloqués lorsqu'ils utilisaient BeautifulSoup pour analyser des pages web, ce que je connais bien ! L'année dernière, lorsque j'ai réalisé l'outil de comparaison des prix du commerce électronique, j'ai rencontré, à l'époque, pendant trois jours consécutifs, le site cible qui me tirait le noir, ce qui m'a angoissé en me tirant les cheveux.
Puis j'ai trouvé une astuce...Rotation de l'IP du proxyC'est comme lorsque vous allez au supermarché pour essayer la nourriture, vous utilisez toujours le même visage. C'est comme lorsque vous allez au supermarché pour essayer la nourriture, et si vous frottez toujours votre visage de la même manière, le vendeur est sûr de vous envoyer balader. Si vous changez de vêtements et portez une perruque à chaque fois, vous pouvez gagner quelques rounds supplémentaires. L'IP proxy est un déguisement qui permet au site web de penser que chaque visite est celle d'un nouvel utilisateur.
Le gilet de BeautifulSoup à l'épreuve des mains !
Voici un cas réel : un site de voyage n'autorise que 30 visites par heure. Avec le code suivant et le service proxy d'ipipgo, il réussit à collecter des données 24 heures sur 24 et 7 jours sur 7.
import requests
from bs4 import BeautifulSoup
def get_page(url) :
proxies = {
'http' : 'http://username:password@gateway.ipipgo.com:9020', 'https' : 'http://username:password@gateway.ipipgo.com:9020'
'https' : 'http://username:password@gateway.ipipgo.com:9020'
}
try.
response = requests.get(url, proxies=proxies, timeout=10)
soup = BeautifulSoup(response.text, 'lxml')
N'oubliez pas de remplacer la logique d'analyse par la vôtre
return soup.find_all('div', class_='price-item')
except Exception as e.
print(f "Erreur de capture : {str(e)}")
return None
Regardez le paramètre des proxies.Le nom d'utilisateur et le mot de passe doivent être remplacés par votre propre clé enregistrée dans ipipgo.La première chose à faire est d'obtenir un nouveau canal proxy. Leur canal proxy prend en charge le remplacement automatique des adresses IP, sans qu'il soit nécessaire de changer manuellement de canal, ce qui est particulièrement gênant.
Les adresses IP proxy sont utiles, car les crawlers quittent le travail plus tôt.
Les services proxy sur le marché sont inégaux, j'ai comparé plus d'une douzaine de fournisseurs de services, et j'ai finalement choisi ipipgo principalement pour ces raisons :
| terme de comparaison | Agent général | ipipgo |
|---|---|---|
| Temps de survie IP | 2-6 heures | 15-30 minutes changement dynamique |
| réactivité | 800-1200ms | Moyenne 200 ms |
| Degré d'anonymat | Agent transparent | Agents à forte valeur ajoutée |
Un éloge particulier pour leurFonction de routage intelligentC'est un excellent moyen de faire correspondre automatiquement les nœuds de serveur les plus rapides. Une fois que j'ai exécuté cinq scripts de crawler en même temps, la charge du système est en fait plus faible qu'avant avec d'autres proxies 40%.
Un piège courant pour les nouveaux arrivants
QA 1 : J'ai utilisé une adresse IP proxy et j'ai quand même été bloqué ?
Le niveau d'anonymat peut ne pas être suffisant, choisissez un proxy élevé afin de cacher l'IP réelle. Les pools de proxy d'ipipgo sont des IP élevés de niveau entreprise, efficaces pour les tests.
QA 2 : Le proxy IP affecte-t-il la vitesse de résolution ?
Un bon proxy devrait accélérer les choses ! S'il est plus lent, vérifiez l'emplacement géographique du serveur proxy. Par exemple, si vous parcourez un site web national, choisissez le nœud Hangzhou d'ipipgo qui sera plus de 10 fois plus rapide que le nœud américain.
QA 3 : Dois-je maintenir mon propre pool d'adresses IP ?
Je ne suis pas sûr que vous puissiez le faire ! ipipgo met à jour plus de 200 000 adresses IP fraîches chaque jour. Une fois, j'ai collecté 18 heures en continu, le système a automatiquement changé plus de 200 adresses IP, et l'ensemble du processus n'a pas signalé d'erreur.
Et enfin.secret anti-blocageGrâce au contrôle de la fréquence des visites, à l'utilisation aléatoire de l'agent utilisateur et à l'utilisation d'une IP proxy de haute qualité, le mécanisme anti-escalade de 90% peut être brisé. Récemment, ipipgo a lancé 618 activités, les nouveaux utilisateurs envoyant un flux de 10G, juste pour s'entraîner.

