Toutes les collections
Outils avancés
XPath & Regular Expression
Localiser et collecter un élément par le biais du texte à côté
Localiser et collecter un élément par le biais du texte à côté

Ce tutoriel va vous expliquer comment localiser et collecter un élément par le biais du texte à côté.

Mis à jour il y a plus d’une semaine

Octoparse extrait les données avec XPath mais les données peuvent changer de place dans une page Web. Pour résoudre ce problème, nous allons vous montrer comment extraire les données de manière plus précise en les associant à un texte à côté.

Tout d'abord, voyons un exemple de cas où cette technique peut être utile.

extraire les données de manière plus précise en les associant à un texte à côté

Dans l'exemple d'image ci-dessus, la valeur de "Brand" se trouve à côté des mots "Brand". De même, la valeur "Item Weight" se trouve toujours à côté des mots "Item Weight". Le même scénario devrait s'appliquer au reste de la liste.

Bien que le "Item Weight" puisse changer de place de la troisième à la quatrième ligne de la liste, sa valeur associée devrait toujours se trouver à côté. Donc, une manière plus uniforme de trouver et de saisir les valeurs associées de n'importe quel élément consiste à chercher d'abord où se trouvent les mots, puis à localiser les données à côté. Dans cet exemple, au lieu d'essayer de trouver la valeur de "10 pounds" directement sur la page, nous pouvons la saisir plus précisément quand nous la mettons en relation avec le texte de "Item Weight".

Suivez les étapes ci-dessous pour voir comment cela fonctionne :

1) Cliquez sur 10 pounds sur la page pour extraire le texte pour Item Weight.
2) Allez dans le panneau d'aperçu des données et cliquez sur Customize XPath

Allez dans le panneau d'aperçu des données et cliquez sur Customize XPath

3) Trouver l'XPath relatif au texte du champ de données cible

  • Maintenant, ouvrez la page dans le navigateur Chrome et faites un clic droit pour inspecter les données cherchées.

faites un clic droit pour inspecter les données cherchées

  • Remarquez que les mots actuels de "Item Weight" se trouvent dans la balise <th> tandis que sa valeur associée se trouve dans la balise <td> juste en dessous.

Remarquez que les mots actuels de Item Weight se trouvent dans la balise th
  • Une fois que nous voyons le modèle, nous pouvons écrire une expression XPath pour rechercher la valeur de "Item Weight" par rapport à l'endroit où nous trouverons les mots : "//th[contains(text(), 'Item Weight')]/following-sibling::td[1]" - Cette expression XPath indique au programme de rechercher la balise <th> contenant le texte de "Item Weight", puis de trouver la première balise <td> située juste en dessous. Cela nous donnera exactement ce que nous voulons, la valeur associée de "Item Weight".

écrire une expression XPath

  • Entrez le nouveau XPath dans le champ de texte pour Matching XPath, cliquez sur Apply pour enregistrer les paramètres.

Entrez le nouveau XPath dans le champ de texte pour Matching XPath

Octoparse recherchera toujours la valeur associée au "Item Weight" en fonction de l'endroit où les mots "Item Weight" apparaissent sur la page Web. L'application de cette technique à des champs similaires de la liste peut aider à réduire le risque d'extraire les éléments erronés.

Avez-vous trouvé la réponse à votre question ?