IPIPGO proxy ip PHP parsing HTML : DOMDocument tutoriels

PHP parsing HTML : DOMDocument tutoriels

PHP pour attraper le web doit : DOMDocument niveau d'enseignement de la nounou La collecte de données de l'ancien fer devrait avoir rencontré ce problème : le site cible de changer la structure HTML de la mère de parent ne savent pas, écrire un bon script crawler directement frapper. Aujourd'hui, nous utilisons PHP est livré avec le composant DOMDocument, main dans la main pour vous apprendre à optimiser ...

PHP parsing HTML : DOMDocument tutoriels

PHP attrape la page doit : DOMDocument nounou d'enseignement

Le vieux fer à repasser engagé dans la collecte de données devrait avoir rencontré ce problème : le site cible pour changer la structure HTML de la mère parentale ne sait pas, écrire un bon script de crawler directement frapper. Aujourd'hui, nous allons utiliser le composant DOMDocument propre à PHP pour vous apprendre à désassembler élégamment la structure de la page web, puis avec le composantipipgoLe service IP proxy garantit que la collection est aussi stable qu'un vieux chien.

Tout d'abord, pourquoi utiliser une adresse IP proxy pour procéder à la saisie de données ?

De nombreux sites sont dotés d'un "système de contrôle d'accès", qui fait que les visites fréquentes d'une même adresse IP entraînent immédiatement le retrait de l'adresse noire. À ce moment-là, il est nécessaire d'aimeripipgoUn tel service de proxy professionnel revient à préparer une série de "doublures" pour le robot d'exploration. Pour vous donner un exemple :


$proxy = 'http://username:password@gateway.ipipgo.io:9020' ;
$context = stream_context_create([
    'http' => ['proxy' => $proxy]
]) ;
$html = file_get_contents('destination URL', false, $context) ;

Le gateway.ipipgo.io dans ce code est leur portail de routage intelligent, qui assigne automatiquement les nœuds les plus appropriés. Après avoir testé son proxy, la probabilité d'être bloqué est passée de 80% à moins de 5%.

Deuxièmement, DOMDocument fonctionnement de base des trois axes

Une fois que nous avons le code source de la page web, commençons à en désassembler les parties :


$dom = new DOMDocument() ;
@$dom->loadHTML($html) ; // masque le message d'avertissement avec @
$xpath = new DOMXPath($dom) ;

// Exemple : récupérer tous les prix des produits
$prices = $xpath->query('//span[@class="price"]') ; } ; $prices = $xpath->query('//span[@class="price"]') ; }
foreach ($prices as $node) {
    echo $node->nodeValue."" ;
}

Attention à ces deux nids-de-poule :

1. les problèmes d'encodage des pages web sont traités avec mb_convert_encoding
2. ignorer les erreurs d'analyse HTML avec les symboles @

III. Pratique : programme dynamique d'acquisition de sites web

Lorsque vous rencontrez un site web qui charge des données avec JS, vous pouvez effectuer une collecte distribuée avec un proxy IP. Par exemple, configurez le cluster de collecte comme suit :

Type de nœud concurrence stratégie de commutation
Domestique Résidentiel IP 10 fils Changement d'IP sur demande
Centre de données d'outre-mer IP 5 fils Changements horaires de l'IP

dépense ou fraisipipgopour obtenir le pool d'adresses IP :


$ip_list = json_decode(file_get_contents('https://api.ipipgo.com/getips?type=http&num=20')) ;

IV. kit de premiers secours pour les problèmes courants

Q : Que dois-je faire si je ne parviens pas à me connecter à l'adresse IP du proxy ?
A:Vérifiez d'abord le format des informations d'authentification, en utilisant l'outil "test de connexion" fourni par ipipgo background diagnosis.

Q : XPath est écrit correctement mais ne peut pas capturer les données ?
R : 80% des pages web contiennent des iframes, il faut d'abord utiliser le positionnement normal pour le cadre spécifique, puis analyser le code de l'iframe.

Q : Ralentissement soudain des acquisitions ?
R : Il se peut que la limite de vitesse du site ait été dépassée. Il est conseillé d'ajouter un temps d'attente aléatoire dans le code :


sleep(rand(1, 3)) ; // dormir aléatoirement pendant 1 à 3 secondes

V. Avantages cachés de l'ipipgo

En plus des services de base de l'agence, sa famille dispose de deux autres atouts :

1. Système de réessai intelligentChangement d'adresse IP : commutation automatique des adresses IP non valides
2. Interface de nettoyage des donnéesFiltrage automatique du contenu dupliqué

最后给个忠告:别在采集代码里用sleep(0),网站风控不是吃素的。用代理IP+随机+自动切换的三重防护,才能让采集脚本长命百岁。

我们的产品仅支持在境外网络环境下使用(除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

IPIPGO-五一狂欢 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