IPIPGO proxy ip PHP utilisant curl : exemple de code de collecte de données

PHP utilisant curl : exemple de code de collecte de données

Les frères engagés dans la collecte de données savent que le plus gros problème est que le site cible vous donne soudainement un blocage d'IP. Le mois dernier, j'ai aidé des clients à attraper le prix d'une plate-forme de commerce électronique, juste courir deux jours pour recevoir un avertissement 403, cette fois, nous devons sacrifier le proxy IP cette arme. Préparation de l'équipement de base...

PHP utilisant curl : exemple de code de collecte de données

Apprenez à utiliser PHP pour capturer des données sans bloquer l'IP !

Les confrères engagés dans la collecte de données savent que le plus grand casse-tête est que le site cible vous donne soudainement une interdiction d'IP. Le mois dernier, j'ai aidé des clients à attraper le prix d'une plateforme de commerce électronique, il a suffi de deux jours pour recevoir un avertissement 403.IP proxyIl s'agit là d'un véritable fléau.

Préparation de l'équipement de base

Tout d'abord, l'ensemble de l'environnement PHP peut être utilisé pour confirmer que l'extension curl est installée. Il y a ici un écueil à noter : certains serveurs n'ouvrent pas le curl par défaut, il faut aller dans le php.ini pour enlever l'extension=curl devant le point-virgule.


if (!function_exists('curl_init')) {
    die('Allez activer l'extension curl !) ;
}

Code de capture nue

Voyons d'abord à quoi ressemble un code non protégé :


$url = 'https://target-site.com/data' ;
$ch = curl_init() ;
curl_setopt($ch, CURLOPT_URL, $url) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
$result = curl_exec($ch) ;
curl_close($ch) ;

Il ne s'agit pas d'une demi-heure de quasi-blocage, surtout lorsque la fréquence de collecte est élevée. La semaine dernière, un ami qui utilise cette méthode d'écriture a changé pendant une demi-heure l'adresse IP de six serveurs et s'est mis en colère en laissant tomber directement le clavier.

Mettez un gilet pare-balles sur votre code.

C'est là que le bât blesse ! Pour connecter le proxy d'ipipgo à curl, le code doit être modifié pour ressembler à ceci :


$proxy = 'proxy.ipipgo.com:9021' ; // indiquez ici le canal fourni par ipipgo
$auth = 'username:password' ; // informations d'authentification générées dans le backend

$ch = curl_init() ;
curl_setopt($ch, CURLOPT_URL, $targetUrl) ;
curl_setopt($ch, CURLOPT_PROXY, $proxy) ; curl_setopt($ch, CURLOPT_PROXY, $proxy) ;
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth) ; curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth)
curl_setopt($ch, CURLOPT_TIMEOUT, 15) ; curl_setopt($ch, CURLOPT_TIMEOUT, 15) ;
//... Laissez le reste des paramètres tels quels

Il convient de noter trois points essentiels :

1. l'adresse du proxy avec le numéro de port, à ne pas manquer
2) L'information d'authentification n'est pas un compte de site web, elle est unique au backend d'ipipgo.
3) Le délai d'attente doit être court, 15 secondes suffisent dans la plupart des cas.

Guide pratique pour éviter la fosse

Situation réelle à laquelle j'ai été confronté récemment en aidant un client à effectuer un déploiement :

symptomatique guérir
Retour à la page blanche Vérifier l'adresse du proxy pour les en-têtes de protocole (http/https)
Temps morts fréquents Changement de zone de ligne dans la console ipipgo
Vitesse instable Activer la commutation automatique d'IP, régler l'intervalle sur 30 secondes.

Package d'expérience de conduite pour les vétérans

1. la collecte de grandes quantités de temps, il est recommandé d'utiliser l'agent résidentiel dynamique d'ipipgo, personnellement testé avec une moyenne quotidienne de 100 000 demandes qui ne tournent pas !
2. ne pas utiliser d'agents libres pour des projets importants, la dernière fois que quelqu'un a été avide de bon marché, le résultat est que la collection est pleine de codes publicitaires.
3) Définir User-Agent pour déguiser le navigateur, mais ne pas utiliser trop populaire, facile à détecter.

Foire aux questions QA

Q : Que dois-je faire si mon IP proxy tombe soudainement en panne ?
A:Enable "Failover" en arrière-plan d'ipipgo, le système basculera vers une nouvelle IP en quelques secondes.

Q : Comment puis-je savoir si une procuration est en vigueur ?
A : Ajoutez curl_getinfo($ch, CURLINFO_PRIMARY_IP) au code pour afficher les adresses IP d'exportation réelles.

Q : Comment gérer un nombre élevé d'acquisitions simultanées ?
R : Utilisez l'API d'ipipgo pour obtenir dynamiquement le pool de proxy, assignez des IP indépendantes à chaque thread et n'oubliez pas de contrôler la fréquence des requêtes.

Enfin, je voudrais donner une leçon de larmes : je n'ai pas vérifié la disponibilité du proxy à une certaine heure, ce qui a conduit à la collecte de toutes les données erronées. Plus tard, j'ai découvert qu'ipipgo fournissait des outils de test en ligne, et maintenant je lance un script de test avant chaque démarrage, ce qui m'évite bien des ennuis.

Cet article a été initialement publié ou compilé par ipipgo.https://www.ipipgo.com/fr/ipdaili/36133.html

scénario d'entreprise

Découvrez d'autres solutions de services professionnels

💡 Cliquez sur le bouton pour plus de détails sur les services professionnels

新春惊喜狂欢,代理ip秒杀价!

Fournisseur professionnel de services d'IP proxy étrangers-IPIPGO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

Nous contacter

13260757327

Demande de renseignements en ligne. QQ chat

Courriel : hai.liu@xiaoxitech.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Suivre WeChat
Suivez-nous sur WeChat

Suivez-nous sur WeChat

Haut de page
fr_FRFrançais