
Les requêtes textuelles de XPath pour extraire des données
Le plus ennuyeux dans la collecte de données, c'est que la structure de la page web change, aujourd'hui pour apprendre aux gens un truc ---.La fonction XPath contains()C'est comme un GPS pour les éléments web. Il s'agit d'une sorte de GPS pour les éléments web, qui vous permet de localiser votre page même si elle a été légèrement modifiée.
Par exemple, si vous souhaitez capturer le prix d'un produit mais que vous constatez que l'élément prix de la page web n'a pas d'identifiant fixe, utilisez la fonction//span[contains(text(),'¥')]Il suffit d'attraper toutes les étiquettes comportant le symbole ¥, quel que soit le coin ou le recoin où il est caché.
//div[contains(@class,'price-box')]//span[contains(text(),'¥')]
Proxy IP et XPath : comment s'envoyer en l'air ?
Lorsque vous utilisez des robots d'indexation pour saisir frénétiquement des données, la prévention des incendies de sites web n'est pas une sinécure. C'est à ce moment-là qu'il est temps de sortir notreipipgo Proxy résidentiel dynamiqueSa réserve d'adresses IP est illimitée et, grâce à la correspondance floue de XPath, l'efficacité de la collecte est directement doublée.
Par exemple, si vous souhaitez connaître le prix d'une division nationale d'une société de commerce électronique, utilisez la fonctionAgents de localisation au niveau de la villeChangez d'adresse IP régionale et utilisez à nouveau ce XPath pour récupérer les prix :
//[contains(@id,'price_') and contains(text(),'discounted price')]]
N'oubliez pas de configurer l'authentification par proxy d'ipipgo dans le code :
import requêtes
proxies = {
'http' : 'http://用户名:密码@gateway.ipipgo.com:端口',
'https' : 'http://用户名:密码@gateway.ipipgo.com:端口'
}
response = requests.get(url, proxies=proxies)
Guide pratique pour éviter la fosse
Trois erreurs courantes commises par les débutants :
| mauvaise posture | La bonne façon d'ouvrir |
|---|---|
| //div[text()='full text'] | //div[contains(. , "texte partiel")] |
| Ignorer le format d'encodage | Utilisez d'abord normalise-space() pour gérer les espaces |
| rigidité de l'agent unique | Utilisation avec l'agent rotatif d'ipipgo |
Focus sur le troisième point, lorsque le site dispose d'un mécanisme anti-crawl, pensez à intégrer ipipgo dans le code de collecte XPath de la baliseFonction de commutation automatique de proxyDe cette manière, chaque demande est exportée à partir d'une adresse IP différente, ce qui a été testé comme étant efficace pour empêcher le blocage.
séance de questions-réponses
Q : Que dois-je faire si je ne trouve pas un élément dans XPath ?
R : Vérifiez d'abord si le contenu est chargé dynamiquement, dans ce cas il faut travailler avec Selenium, n'oubliez pas de configurer le proxy d'ipipgo dans Selenium, sa famille supporte l'optionParamètres proxy au niveau du navigateur.
Q : Que dois-je faire si l'adresse IP de mon proxy ne cesse d'expirer ?
R : 80% d'entre eux utilisent des proxy de spam. Les lignes de proxy exclusives d'ipipgo sont les suivantesConnexion garantie en 5 secondeset l'heure de pointe du monde réel est aussi stable qu'un vieux chien.
Q:Que dois-je faire si je dois collecter des données sur des sites web à l'étranger ?
R : L'agent de la salle des serveurs d'ipipgo à l'étranger couvre plus de 50 pays, avec la requête textuelle multilingue XPath, par exemple, pour trouver le prix du site web allemand avec l'adressecontains(text(),'€'), une prise.
Enfin, XPath est quelque chose que vous devez pratiquer davantage pour vous familiariser avec. Ne vous acharnez pas sur la page complexe, utilisez contains() avec nos ipipgo'sAgent de résolution intelligentLa première chose à faire est de mettre la main sur un site web que vous pourrez utiliser pour votre usage personnel. Le code pour écrire fatigué à sa maison de fond saisir un essai gratuit, les nouveaux utilisateurs d'envoyer 5G paquet de trafic il.

