
Quand l'enfant à quatre pattes rencontre l'anti-grimpant : comment vous apprendre à jouer avec Colly proxy IP
Récemment, beaucoup d'amis engagés dans le crawler ont demandé, avec le développement du cadre Golang Colly, comment toujours être le blocage IP du site Web, cette chose, avec le jeu a été le numéro d'interdiction une raison -.Les systèmes de contrôle des risques du site web ne sont pas végétariensLa première chose à faire est de mettre la main sur une adresse IP proxy. Aujourd'hui, nous allons donner aux gars une astuce difficile, avec l'IP proxy à la cape d'invisibilité du crawler.
Pourquoi votre crawler ne survit-il pas à trois épisodes ?
De nombreux débutants commencent avec le cadre Colly et se mettent directement au travail à nu. Le résultat ? Au bout d'une demi-heure, l'IP est supprimée. Il y a là un malentendu :Le contrôle de la concurrence propre à Colly ne contourne pas du tout l'anti-climbingLa même IP avec un accès à haute fréquence sera exposée même si le paramètre Delay est défini. Même si le paramètre Delay est défini, la même IP avec un accès à haute fréquence sera toujours exposée.
La semaine dernière, il y a eu une comparaison de commerce électronique de copains, utilisant leur propre serveur IP pour saisir des données, les résultats ont déclenché l'autre côté de la protection du site, ainsi que le serveur entier a été bloqué. Dans ce cas, vous devez vous appuyer sur l'IP proxy pourlit. la cigale perd sa carapace (idiome) ; fig. disparaître en laissant une coquille vide.
Configuration réelle : trois couches de gilet pare-balles pour Colly
Commençons par un point :Les différents types d'IP proxy ont des effets très différents.La première chose à faire est d'utiliser ipipgo. Nous recommandons ici d'utiliser la grande réserve d'agents résidentiels dynamiques d'ipipgo, testés pour être capables de supporter le niveau de Jingdong et de Taobao du système anti-escalade.
// Exemple de code de configuration des clés
collector.SetProxyFunc(func(r http.Request) (url url.URL, err error) {
// Obtient le proxy dynamique de ipipgo
proxyUrl := "http://user:pass@gateway.ipipgo.com:9020"
return url.Parse(proxyUrl)
})
Notez les trois arrêts au stand :
1. passer à un proxy différent pour chaque demande (l'API d'ipipgo prend en charge la commutation automatique)
2. régler le délai d'attente sur 15 secondes au maximum
3. se souvenir de gérer la validation du certificat SSL
Contrôle de la concurence : une recette pour la vitesse et la stabilité
| concurrence | Taille de la piscine recommandée pour l'agent | taux de réussite |
|---|---|---|
| 10 | 50 | 91% |
| 30 | 150 | 85% |
| 50 | 300+ | 78% |
Des tests ont montré que l'utilisation du pool de proxy de l'édition Enterprise d'ipipgo avec la solution de CollyModèle de concurrence asynchroneLa saisie quotidienne de millions de données n'est pas un rêve. Il existe une astuce : l'IP proxy en fonction de la vitesse de réponse est divisée en trois groupes d'ABC, la priorité étant d'utiliser le groupe A d'IP rapides.
Scène de renversement courante AQ
Q : Que dois-je faire si l'adresse IP de mon proxy ne cesse d'expirer ?
R : 80% utilise un proxy statique de mauvaise qualité. Changez le proxy résidentiel dynamique d'ipipgo, n'oubliez pas d'ajouter le mécanisme de réessai dans le code.
Q : Comment casser le CAPTCHA lorsque je le rencontre ?
R : Ne le raidissez pas ! Utilisez la méthode ipipgo'sSalle de serveurs + agence mixte résidentielleavec la randomisation de l'en-tête de la requête, peut réduire de manière significative le taux de déclenchement du CAPTCHA.
Q : Qu'est-ce qu'une mauvaise saisie des données ?
R : Vérifier s'il est reconnu comme crawler par le site. Ajouter un jugement dans le callback OnResponse de Colly pour basculer automatiquement le portail alternatif d'ipipgo lorsqu'il rencontre une interception.
Dites la vérité.
Dans le domaine des crawlers, l'IP proxy est une munition. J'ai utilisé sept ou huit fournisseurs de services, et j'ai fini par utiliser ipipgo pendant longtemps pour deux raisons :La première est que l'IP survive suffisamment longtempscontrairement à certains logements qui expirent dans une demi-heure ;Deuxièmement, la réponse du service clientèle est rapideLa dernière fois que j'ai eu un blocage de l'IP d'Amazon, leur technicien a changé de chaîne en 10 minutes.
Un dernier rappel pour les débutants :N'achetez pas un mauvais agent au rabaisSi les données ne sont pas exactes, il y aura un procès. Le projet officiel s'appuie directement sur le paquet d'entreprise ipipgo, il y a une authentification par liste blanche et un canal exclusif, il n'y a pas de souci à se faire.

