IPIPGO proxy ip PHP web crawler : tutoriels de recherche de données sur les sites web en PHP

PHP web crawler : tutoriels de recherche de données sur les sites web en PHP

PHP crawler pour quoi toujours être scellé ? Essayez cette astuce de l'esprit de beaucoup de frères récemment demandé, écrit dans PHP crawler est toujours le site cible bloqué IP, en colère envie de frapper le clavier. Cette question est franchement votre réseau empreintes digitales sont trop évidentes, aujourd'hui pour vous enseigner une astuce - un proxy IP pour jouer la couverture. Comme pour jouer à cache-cache, changez constamment la ma...

PHP web crawler : tutoriels de recherche de données sur les sites web en PHP

Pourquoi le crawler PHP est-il toujours bloqué ? Essayez cette astuce

Récemment, beaucoup de frères ont demandé, écrit en PHP petit crawler est toujours le site cible bloqué IP, en colère veulent écraser le clavier. Cette question est franchement trop évidente que les empreintes digitales de votre réseau, aujourd'hui vous enseigner une astuce - avec un proxy IP pour jouer la couverture. Comme pour jouer à cache-cache, changez constamment de gilet, afin que le site ne puisse pas attraper votre vrai corps.

Il y a beaucoup à dire sur le choix d'un homme. Il ne faut pas jouer avec les outils.

Le favori des débutants est file_get_contents, mais ce n'est pas différent de courir tout nu :


$html = file_get_contents("http://目标网站") ;

Les vétérans utilisent les combinaisons CURL comme s'ils portaient un gilet pare-balles :


$ch = curl_init() ;
curl_setopt($ch, CURLOPT_URL, "http://目标网站") ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
$result = curl_exec($ch) ;

Les adresses IP proxy sont une bouée de sauvetage.

Ajoutez ces lignes à la configuration de curl et elle changera instantanément :


curl_setopt($ch, CURLOPT_PROXY, 'Proxy IP:port') ;
// Si vous utilisez la tunnellisation dynamique avec ipipgo
curl_setopt($ch, CURLOPT_PROXY, 'http://用户名:密码@gateway.ipipgo.com:端口') ; 

prendre noteChanger d'adresse IP pour chaque demandeL'API d'ipipgo permet d'obtenir la dernière adresse IP en temps réel, comme ceci :


$ip_list = json_decode(file_get_contents('https://api.ipipgo.com/get?num=5')) ;
$random_ip = $ip_list[rand(0,4)] ;

Cas pratique : saisir un nombre limité de marchandises

L'année dernière, j'ai aidé mon ami à écrire un script pour attraper des chaussures, et j'ai été cool en 5 minutes sans utiliser de proxy. Ensuite, j'ai utilisé le pool d'IP exclusif d'ipipgo, et le secret de la réussite est là :


function stealth_request($url){
    $ch = curl_init() ;
    // Récupère les adresses IP valides de la journée auprès d'ipipgo
    $proxy = get_ipgo_proxy() ;
    curl_setopt($ch, CURLOPT_PROXY, $proxy) ;
    curl_setopt($ch, CURLOPT_TIMEOUT, 10) ; // fixer une durée courte pour le timeout
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'User-Agent : Mozilla/5.0 (Windows NT 10.0 ; rv:91.0) Gecko/20100101 Firefox/91.0'
    ]) ;
    return curl_exec($ch) ;
}

Guide pour éviter les pièges (collecte de pièces détachées)

symptomatique antidote
Retour soudain à la case départ Commutation immédiate du prochain nœud IP d'ipipgo
CAPTCHA apparaît Réduire la fréquence des demandes + Remplacer l'agent utilisateur
Délai de connexion Vérifier si le port proxy est mal renseigné

Un must pour les débutants en AQ

Q : L'agent libre ne peut-il pas être utilisé ?
R : L'agent libre du marché 10 a 9 est la fosse, soit lent ou échec précoce. L'agent de niveau commercial ipipgo a une maintenance dédiée, un taux de réussite mesuré de 98% ou plus.

Q : Comment puis-je savoir que l'agent est en vigueur ?
R. : Il faut cocher la case correspondante dans le code :


curl_setopt($ch, CURLOPT_PROXY, $proxy) ;
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5) ;
if(curl_exec($ch) === false) {
    echo "Proxy $proxy is hanging, move to the next one !" ;
}

Q : Comment résoudre le problème du backcrawl d'un site web ?
R : Trois astuces : ① utiliser le proxy résidentiel d'ipipgo ② hiberner de façon aléatoire pendant 0,5 à 3 secondes ③ mélanger l'en-tête UA mobile/PC

Jeu de la mise à niveau : Crawler distribué

Pour les grands projets, n'oubliez pas d'utiliser le multithreading + les pools d'agents et de les configurer de cette manière :


// Obtenir 200 IP de ipipgo pour Redis.
$ip_pool = get_ipipgo_batch(200) ;

// Récupérer des IP différentes pour chaque thread
$worker->setProxy(array_pop($ip_pool)) ; 

Notez que la disponibilité de l'IP doit être surveillée et que le remplacement de l'IP est automatiquement déclenché lorsqu'elle tombe en dessous de 90%.

Enfin, pour être honnête, le proxy IP, c'est une chose qui vaut son pesant d'or. Depuis l'utilisation d'ipipgo, plus besoin de se lever en pleine nuit pour changer d'IP, le système maintient automatiquement le pool, gain de temps suffisant pour dormir d'un sommeil paisible. Certains confrères ont dit cher, mais comparé à la perte causée par le numéro bloqué, cet investissement n'est vraiment rien.

我们的产品仅支持在境外网络环境下使用(除TikTok专线外),用户使用IPIPGO从事的任何行为均不代表IPIPGO的意志和观点,IPIPGO不承担任何法律责任。

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

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