
Tout d'abord, pourquoi utiliser une adresse IP proxy pour capturer un réseau ?
Les partenaires engagés dans le crawling ont dû rencontrer l'embarras d'une IP bloquée, en particulier lorsque le site cible a ajouté un mécanisme anti-climbing. À l'heure actuelleIP proxyC'est comme ouvrir un hang furtif, à chaque demande d'un nouveau gilet, le site ne peut pas dire si vous êtes une personne réelle ou un programme. Par exemple, nous utilisons couramment le service ipipgo, qui peut résoudre correctement ce problème, son pool d'IP est suffisamment large et propre, il n'est pas facile d'être identifié.
Deuxièmement, le manuel d'utilisation de base de PHP curl
Tout d'abord, comprenez comment utiliser curl, qui est l'outil de base pour saisir des données. Rappelez-vous ces paramètres clés :
$ch = curl_init() ;
curl_setopt($ch, CURLOPT_URL, "Target URL") ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) ; //stocker le résultat, ne pas le sortir directement
curl_setopt($ch, CURLOPT_HEADER, 0) ; //ne pas renvoyer d'en-tête
$output = curl_exec($ch) ;
curl_close($ch).
surveiller attentivementcurl_setoptCette fonction, très franchement, dit à curl ce qu'il doit faire. Si vous ne définissez pas RETURNTRANSFER, les données seront imprimées directement sur la page, et c'est le bordel.
Troisièmement, la main plus la procuration IP combat réel
C'est là que le bât blesse ! Mettez un gilet de proxy sur curl et utilisez le service de proxy d'ipipgo comme châtaigne :
$proxy = "123.123.123.123:8888" ; //proxy IP fourni par ipipgo
$auth = "username:password" ; //authentification obtenue dans le backend d'ipipgo
$ch = curl_init() ;
curl_setopt($ch, CURLOPT_URL, "https://目标网站.com") ;
curl_setopt($ch, CURLOPT_PROXY, $proxy) ;
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth) ; curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) ; curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1).
// Pour le débogage (n'oubliez pas de le désactiver pour les environnements formels)
curl_setopt($ch, CURLOPT_VERBOSE, true) ; curl_setopt($ch, CURLOPT_VERBOSE, true)
curl_setopt($ch, CURLOPT_STDERR, fopen('php://stderr', 'w')) ;
$result = curl_exec($ch) ;
if(curl_errno($ch)){
echo 'Crawl error : '.curl_error($ch) ; }
}
curl_close($ch) ; }
Notez le format de l'adresse IP du proxyL'adresse du proxy doit être une structure IP:port. Le backend d'ipipgo peut générer directement une adresse de proxy dans ce format, ce qui est facile à utiliser pour les voleurs.
Quatrièmement, le traitement anormal du crawl Daquan
Ne paniquez pas lorsque vous rencontrez ces papillons ci-dessous, le vieux conducteur pour vous apprendre à voir le truc :
/Vérifier si le proxy est en vigueur
if(curl_getinfo($ch, CURLINFO_PRIMARY_IP)){
echo "Currently using proxy IP : ".curl_getinfo($ch, CURLINFO_PRIMARY_IP) ; }
}
// Définir un délai d'attente pour éviter d'être bloqué
curl_setopt($ch, CURLOPT_TIMEOUT, 15) ; // retrait en l'absence de réponse pendant 15 secondes
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5) ; //Connecter et attendre jusqu'à 5 secondes.
//Mécanisme de relance automatique
$retry = 3 ;
while($retry--){
$result = curl_exec($ch) ;
if(!curl_errno($ch)) break ;
sleep(1) ; // attendez 1 seconde et réessayez
}
V. Foire aux questions AQ
Q : Que dois-je faire si je ne parviens pas à me connecter à l'adresse IP du proxy en permanence ?
R : Tout d'abord, vérifiez s'il n'y a pas d'erreur dans le port IP, puis utilisez telnet pour mesurer la connectivité. Si l'IP d'ipipgo tombe soudainement en panne, passez en arrière-plan pour changer d'IP, son pool d'IP change rapidement et ne sera pas perdu.
Q : Comment puis-je améliorer l'efficacité de l'exploration ?
R : Sur l'agent résidentiel dynamique d'ipipgo, avec le multithreading pour s'engager. N'oubliez pas de régler le temps d'intervalle aléatoire, ne faites pas de rafales comme une mitrailleuse, il est facile d'être trouvé.
Q : Que dois-je faire si je rencontre un CAPTCHA ?
R : Cela signifie que la qualité de l'adresse IP du proxy que vous utilisez n'est pas suffisante. Si cela ne fonctionne pas, vous devrez vous tourner vers un programme de reconnaissance d'images, mais c'est une autre histoire.
Portail d'achat d'IP proxy
Vous devez tenir compte de ces indicateurs pour choisir un service d'agence :
- Durée de survie de l'IP : les serveurs mandataires à courte durée de vie d'ipipgo changent automatiquement au bout de 5 à 15 minutes, tandis que les serveurs mandataires à longue durée de vie peuvent durer jusqu'à 24 heures.
- Localisation géographique : pour le site national, choisir l'IP de la salle du serveur local, pour les affaires à l'étranger avec sa famille, les nœuds Amérique/Asie.
- Prise en charge des protocoles : outre HTTP/HTTPS, certains scénarios nécessitent SOCKS5, pris en charge par ipipgo.
Une dernière astuce :Pool IP dynamique + commutation automatiqueL'arrière-plan d'ipipgo s'accompagne d'une API permettant d'obtenir le dernier agent en temps réel, le script étant automatiquement remplacé, de saisir les données que l'on appelle stables. Rencontrer des problèmes techniques directement à sa famille service à la clientèle, la vitesse de réponse que les pairs plus rapide que la moitié d'une étoile.

