
Des exercices pratiques vous apprennent à utiliser PHP pour capturer des données sans bloquer le nombre d'utilisateurs.
Les amis des crawlers comprennent que le mécanisme anti-escalade des sites web devient de plus en plus strict. La semaine dernière, mon collègue a utilisé PHP pour écrire un script de collecte, les résultats ont juste couru une demi-heure IP a été bloqué. En ce moment, il est nécessaire deRotation de l'IP du proxyC'est une aubaine, aujourd'hui nous parlons de la façon d'utiliser le service proxy d'ipipgo pour que le script PHP puisse continuer à vivre.
// Paramètres de base du proxy
$proxy = '123.123.123.123:8888' ;
$context = stream_context_create([
'http' => [
'proxy' => "tcp://$proxy",
'request_fulluri' => true
]
]) ;
$content = file_get_contents('destination URL', false, $context) ;
Changement d'adresse IP intelligent pour les robots d'indexation PHP
Il ne suffit pas de mettre en place une procuration fixe, il faut aussi obtenir une autorisation.Pool IP dynamique. Nous recommandons ici d'utiliser l'API d'ipipgo pour obtenir un grand nombre de proxies, et leur taux de survie IP peut atteindre plus de 95%. L'opération spécifique est divisée en trois étapes :
- Créez un compte ipipgo pour recevoir 500 adresses IP de test.
- Appelez leur API pour obtenir la dernière liste de proxies.
- Sélection aléatoire d'une adresse IP pour chaque demande
// Obtenir un exemple de pool de proxy ipipgo
$api_url = "https://api.ipipgo.com/get?format=json&key=你的密钥" ;
$ip_list = json_decode(file_get_contents($api_url), true) ;
// Choisir un proxy aléatoire
$rand_proxy = $ip_list['data'][array_rand($ip_list['data'])] ;
Que faire lorsque vous rencontrez un captcha ? Essayez ceci.
Même si vous utilisez un proxy, certains sites vous proposeront toujours un captcha. C'est le moment deContrôler la fréquence des visitesRecommandations :
| Type de site web | Intervalle recommandé | concurrence |
|---|---|---|
| informations générales station | 3-5 secondes | 5 |
| Plate-forme de commerce électronique | 10-15 secondes | 2 |
| médias sociaux | 20-30 secondes | 1 |
Dans le cadre de l'initiative de l'ipipgofacturation volumétriquevous pouvez mettre en place une politique de changement automatique d'IP. Testé, leur vitesse de réponse est environ 40% plus rapide que les proxies ordinaires, et le taux de réussite du traitement des CAPTCHA peut être considérablement amélioré.
Questions fréquemment posées Trousse de premiers secours
Q : Que dois-je faire si mon IP proxy tombe soudainement en panne ?
R : Il est recommandé d'utiliser la fonction de détection intelligente d'ipipgo, dont l'API renvoie des IP avec des marqueurs de temps de survie.
Q : Comment puis-je remédier à la lenteur de la vitesse de défilement ?
R : Vérifiez l'emplacement du serveur proxy, sélectionnez le nœud dans la région où se trouve le site web cible. ipipgo propose plus de 30 nœuds nationaux, n'oubliez pas de choisir le nœud le plus proche géographiquement.
Q : Échec du proxy web HTTPS ?
A : Ajouter la configuration ssl dans stream_context ou changer pour la méthode Curl :
$ch = curl_init() ;
curl_setopt($ch, CURLOPT_PROXY, $proxy) ;
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) ;
Solution améliorée : maintenance automatisée des pools d'adresses IP
Pour les robots d'exploration de longue durée, il est recommandé de créer un fichierMécanisme de contrôle de l'état de santé de l'IP. Utiliser l'API d'ipipgo avec une tâche programmée pour mettre à jour le pool d'IP toutes les heures. Partage d'une logique de script auto-hébergée ici :
- Tirer une nouvelle liste d'adresses IP toutes les 60 minutes
- Rejeter les agents qui répondent avec un délai d'attente
- Enregistrer le taux de réussite de chaque PI
- Donner la priorité à l'utilisation de PI à taux de réussite élevé
Nous avons un projet qui a fonctionné pendant 7 jours sans être bloqué, la stabilité d'ipipgo est vraiment excellente. Maintenant, ils envoient aux nouveaux utilisateurs 500 IP d'essai, les crawlers engagés peuvent aller à l'essai.

