A, pourquoi jeter l'IP proxy, l'ancien bloqué comment faire ah
Récemment, beaucoup de frères ont demandé, avec PHP pour écrire un crawler est toujours le site cible pour bloquer l'IP comment faire. Cette chose avec le jeu était le numéro d'interdiction comme, vous utilisez toujours un certain nombre de copies de brosse, le système ne bloque pas vous bloquer qui ? Cette fois, vous devez utiliser le proxy IP, ce plug-in - oh non, c'est l'outil.
Pour donner un exemple concret : la semaine dernière, un site web de comparaison de prix a saisi toutes les heures 50 000 fois les données d'une plate-forme de commerce électronique. Avec leurs propres serveurs, les résultats de moins de deux heures IP dans la liste noire. Plus tard, il a changéPool proxy exclusif pour ipipgoJe travaille sur ce projet depuis un certain temps, et j'ai mis en place un changement automatique d'IP toutes les 50 requêtes, et cela fait maintenant une semaine que le système fonctionne sans problème.
Deuxièmement, comment choisir l'adresse IP du proxy ? Il ne suffit pas de trouver un
Il existe trois types d'IP proxy sur le marché, utilisons le tableau pour clarifier les choses :
typologie | spécificités | Scénario |
---|---|---|
Agent transparent | L'autre partie peut voir l'IP réel | Il est pratiquement inutile. |
Agent anonyme | Cacher l'IP réelle mais exposer le proxy utilisé | Acquisition générale de données |
Agents à forte valeur ajoutée | Masquer complètement toutes les informations | Sites d'escalade difficiles |
ressemblerHigh Stash Proxy pour ipipgoLe test réel dans la capture d'une grande plate-forme sociale, le taux de réussite est plus élevé que le proxy ordinaire 37%. L'accent est mis sur leur famille IP pool est mis à jour rapidement, beaucoup sont la section non divulguée de la salle des serveurs IP, n'est pas facile à identifier.
Troisièmement, le combat pratique contre le code PHP
Pour ce faire, nous allons utiliser l'extension cURL la plus couramment utilisée. Notez les deux paramètres clés : CURLOPT_PROXY et CURLOPT_PROXYUSERPWD.
$ch = curl_init() ;
$proxy = 'gateway.ipipgo.net:9021' ; //adresse du serveur proxy
$auth = 'username:password' ; //informations d'authentification obtenues dans le backend ipipgo
curl_setopt_array($ch, [
CURLOPT_URL => 'https://目标网站.com/api',
CURLOPT_PROXY => $proxy,
CURLOPT_PROXYUSERPWD => $auth,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false //Les environnements de test peuvent désactiver la validation des certificats.
]) ;
$response = curl_exec($ch) ;
if(curl_errno($ch)){
//Il est recommandé de conserver un journal des erreurs ici
echo 'Crawl failed : '.curl_error($ch) ; }
}
curl_close($ch) ; }
C'est là que le bât blesse.réglage du délai d'attenteDe nombreux débutants ne définissent pas de délai d'attente, et se contentent d'attendre que l'agent ne puisse pas se connecter. Il est recommandé de définir un délai de 10 à 60 secondes en fonction des besoins de l'entreprise et de passer à l'agent suivant directement après le délai.
IV. un guide pour éviter les pièges - un résumé de l'expérience sanglante
1. Ne pas utiliser d'agents libres.Testé l'année dernière, la disponibilité moyenne des proxies gratuits est inférieure à 15%, et il y a un risque de fuite de données.
2) N'oubliez pas d'ajouter le mécanisme pilote : il est proposé d'écrire quelque chose comme ceci.
$retry = 3 ;
while($retry--){
//Exécuter le code de la requête
if(success) break ; sleep(2) ; //échec, attendez 2 secondes et réessayez.
sleep(2) ; //après un échec, attendez 2 secondes et réessayez.
}
3. attention au contrôle de la concurrence : ne pensez pas que l'utilisation de proxies vous permet de faire tout ce que vous voulez, il est recommandé de contrôler 5 à 10 requêtes par seconde !
V. Le temps consacré à l'assurance qualité - un piège pour les novices
Q : Que dois-je faire si mon IP proxy ne fonctionne pas ?
R : Phénomène normal, tous les serveurs mandataires ont une date d'expiration. Il est recommandé d'utiliser l'API d'ipipgo pour obtenir la dernière adresse IP de manière dynamique ; ils ont fourni un exemple de code.
Q : Le code d'état renvoyé est toujours 407 ?
R : Il s'agit d'un échec d'authentification par proxy. Vérifiez si le nom d'utilisateur et le mot de passe sont corrects. Notez que le mot de passe d'ipipgo est généré dynamiquement et qu'il doit être récupéré tous les mois !
Q : Comment puis-je vérifier si le proxy fonctionne réellement ?
R : Vous pouvez utiliser cette interface de test :
curl_setopt($ch, CURLOPT_URL, 'http://httpbin.org/ip') ;
Le champ d'origine renvoyé doit indiquer l'adresse IP du proxy, et non votre adresse IP locale.
Pourquoi recommander ipipgo ?
Après avoir utilisé sept ou huit fournisseurs de proxy, j'ai finalement choisi ipipgo pour trois raisons principales :
1. suffisamment rapide pour répondre, avec un délai moyen de 200 ms ou moins
2. le service clientèle est très technique et peut aider à déboguer le code.
3. des systèmes de tarification souples, avec des forfaits de 5 dollars par jour pour les essais à petite échelle
En particulier, leurFonction de routage intelligentC'est le meilleur moyen de choisir automatiquement le meilleur nœud. La semaine dernière, pour capturer les données d'un site web gouvernemental, nous avons pris directement le canal de la ligne gouvernementale, le taux de réussite de 43% a grimpé à 91%.
Enfin rappelons que le proxy IP n'est pas une panacée, avec la rotation des User-Agent, le contrôle de la fréquence des requêtes afin de jouer au maximum. Pour toute question spécifique, n'hésitez pas à consulter le site officiel d'ipipgo pour trouver le service client technique qui vous embêtera, ils sont en ligne 24 heures sur 24, plus détaillés que ce que j'ai écrit ici.