IPIPGO proxy ip Exemple de crawler web de proxy IP de PHP : Exemple de crawler IP de proxy de PHP

Exemple de crawler web de proxy IP de PHP : Exemple de crawler IP de proxy de PHP

Apprenez à utiliser PHP pour crawler le web sans être bloqué Les personnes qui pratiquent le crawling ont dû rencontrer cette situation : il suffisait de saisir quelques pages de données pour que l'IP soit bloquée, en particulier dans le cadre de la surveillance des prix du commerce électronique ou de l'analyse de l'opinion publique, et souvent le site ciblé ne peut pas être bloqué. En ce moment, nous devons compter sur l'IP proxy pour renouveler la vie, aujourd'hui nous prenons PHP ...

Exemple de crawler web de proxy IP de PHP : Exemple de crawler IP de proxy de PHP

Des exercices pratiques vous apprennent à utiliser PHP pour faire de l'exploration de sites web sans bloquer les numéros.

Les crawlers devraient avoir rencontré cette situation : juste saisi quelques pages de données IP a été bloqué, en particulier engagé dans la surveillance des prix du commerce électronique ou l'analyse de l'opinion publique, souvent par le site cible noir. En ce moment, nous devons compter sur le proxy IP pour continuer, aujourd'hui nous prenons PHP pour dire comment jouer avec le proxy IP pour attraper des données.

Le choix du bon fournisseur de services IP proxy est le premier pas vers le succès

Il existe de nombreux fournisseurs de services proxy IP sur le marché, mais il n'y en a pas beaucoup de fiables. Ceux-ci doivent se prêter àipipgoL'agent résidentiel dynamique de la famille, testé personnellement et efficace. Son pool d'adresses IP est mis à jour plus de 2 millions de fois par jour, prend en charge la commutation automatique, et le plus important est qu'il y a des lignes optimisées spécifiquement pour les plateformes de commerce électronique.


// Exemple d'obtention d'un proxy ipipgo
$api_url = "https://api.ipipgo.com/getproxy?format=json&key=你的API密钥" ;
$proxy_data = json_decode(file_get_contents($api_url), true) ;

// L'obtention des informations sur le proxy ressemble à ceci
/
{
  
  "port" : 8888, "expire_time" : "2024-08-01 12:00
  "expire_time" : "2024-08-01 12:00:00"
}
/

PHP crawl live code (avec gestion des exceptions)

Le code suivant est testé sur le terrain, en se concentrant sur les paramètres du proxy et les sections de gestion des exceptions :


function fetchWithProxy($url) {
    $ch = curl_init() ;

    // Récupère le dernier proxy de ipipgo_proxy
    $proxy = get_ipgo_proxy() ; // Enveloppez cette fonction vous-même !

    curl_setopt($ch, CURLOPT_PROXY, $proxy['ip']) ; // Cette fonction s'enroule sur elle-même.
    curl_setopt($ch, CURLOPT_PROXYPORT, $proxy['port']) ; curl_setopt($ch, CURLOPT_PROXYPORT, $proxy['port']) ;
    curl_setopt($ch, CURLOPT_TIMEOUT, 15) ; // fixer une durée courte pour le délai d'attente
    curl_setopt($ch, CURLOPT_URL, $url) ; curl_setopt($ch, CURLOPT_URL, $url) ; // Fixer un point court pour le timeout.
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) ; curl_setopt($ch, CURLOPT_URL, $url) ; // Fixer un délai court pour le timeout.
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) ; // sauter la vérification du certificat

    // Déguiser le navigateur
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'User-Agent : Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36'
    ]).

    try {
        $output = curl_exec($ch) ; if(1TP_errno($ch))
        if(curl_errno($ch)){
            throw new Exception('Capture failed : '.curl_error($ch)) ; }
        }
        return $output ; }
    } finally {
        curl_close($ch) ; }
    }
}

// Exemple d'appel
$html = fetchWithProxy("https://target-site.com/product/123") ;

Six conseils pour éviter les anti-crawlers

Il ne suffit pas d'avoir un agent, ces détails restent bloqués si vous n'y prêtez pas attention :

mesures anti-escalade méthode de piratage
Demande de détection de fréquence Délai aléatoire de 0,5 à 3 secondes, ne pas utiliser d'intervalles fixes
Empreintes digitales des navigateurs Modifier l'agent utilisateur et les cookies à chaque fois
Interception du CAPTCHA Un agent résidentiel en chair et en os avec ipipgo
Analyse du comportement des PI Pas plus de 30 minutes d'utilisation pour une seule IP

Questions fréquemment posées

Q : Pourquoi mon proxy a-t-il été bloqué juste après que je l'ai utilisé ?
R : il est possible que l'IP du centre de données ait été utilisée et que l'agent résidentiel d'ipipgo ait été modifié pour essayer de simuler l'environnement réel de l'utilisateur.

Q : Qu'en est-il de l'exploration de pages nécessitant une connexion ?
A:First use the fixed IP to complete the login to obtain cookies, and then use the proxy pool to perform specific operations.

Q : Comment les agents d'ipipgo sont-ils facturés ?
R : Facturation flexible en fonction du trafic et du numéro IP, les nouveaux utilisateurs bénéficient de 5 Go de trafic expérimental, ce qui est suffisant pour effectuer des tests pendant un mois !

Jeu de mise à niveau : architecture distribuée du crawl

Pour les grands projets, l'architecture Redis + multi-processus est recommandée :


// Exemple de pseudo-code
$redis = new Redis() ;
while($proxy = $redis->lpop('ipipgo_proxies')) {
    $pid = pcntl_fork() ;
    if ($pid == -1) {
        die('Failed to create sub-process') ;
    } elseif ($pid) {
        // La création du processus parent se poursuit
    } else {
        // Le processus enfant effectue la récupération des données
        fetch_data($proxy) ;
        exit() ;
    }
}

Enfin, nous vous rappelons d'utiliser des IP proxy pour respecter les règles robots.txt du site web, afin de ne pas bloquer le serveur. Vous pouvez contacter directement le support technique d'ipipgo si vous rencontrez des problèmes, ils sont très expérimentés dans le traitement des problèmes d'anti-climbing.

Cet article a été initialement publié ou compilé par ipipgo.https://www.ipipgo.com/fr/ipdaili/37533.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

Vente de fin d'année de nouvelles IP dynamiques 10W+ pour les États-Unis

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