Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 75|Répondre: 0

Utilisez XPath pour récupérer le contenu XML et HTML des documents

[Copié le lien]
Publié surIl y a 3 jours | | | |
XPath est une technologie qui spécifie et extrait avec précision et efficacité les informations requises à partir de données de structures arborescentes, telles que HTML et XML.

Aperçu de XPath

XPath est un langage utilisé pour spécifier et extraire des éléments et attributs spécifiques dans un arbre de documents XML ou HTML. Comme les pages web sont souvent composées de HTML, XPath est largement utilisé dans divers scénarios, tels que le web scraping, la recherche de données et la recherche de données XML.

L’utilisation typique est la suivante :

  • Extraction de données dans les robots d’indexation Web : XPath est utilisé pour récupérer automatiquement des données spécifiques, telles que des informations sur des produits sur des sites de commerce électronique ou des titres d’articles sur des sites d’actualités.
  • Recherche et traitement de données XML : Dans les systèmes d’entreprise et le traitement de liaison de données, les données sont souvent échangées au format XML. En utilisant XPath, vous pouvez extraire efficacement les informations nécessaires à partir de grandes quantités de données XML.
  • Analyse des réponses API (format XML) : Lors de l’utilisation d’API basées sur XML, telles que SOAP, XPath est utilisé pour analyser les données de réponse. Cela vous permet d’obtenir rapidement des codes d’état spécifiques et des données de résultats, améliorant la précision de l’intégration système et du traitement automatisé.

Recommandation d’outils

Dans le processus d’apprentissage et d’utilisation de XPath, les outils courants incluent :

Outils de développement Chrome : Un outil puissant fourni avec le navigateur Chrome, vous pouvez l’appeler en appuyant sur la touche F12. Dans le panneau « Éléments », vous pouvez rapidement localiser des éléments HTML sur une page web en survolant et en cliquant, et le clic droit sur un élément peut copier directement l’expression XPath pour une vérification et des tests faciles. Par exemple, lors de l’analyse d’une page produit e-commerce, vous pouvez utiliser des outils développeurs Chrome pour obtenir rapidement XPath pour les noms de produits, les prix et d’autres éléments.
Firefox Developer Tools : Il est également livré avec le navigateur, similaire à Chrome Developer Tools. Cela vous permet également de localiser facilement des éléments dans votre page, ainsi que de visualiser et tester des expressions XPath. C’est une bonne option pour les développeurs habitués à utiliser le navigateur Firefox.
Outils de test XPath en ligne : Des outils en ligne comme « XPath Tester » peuvent être utilisés sans installation et peuvent être utilisés en ouvrant une page web. Il suffit de coller le contenu d’un document XML ou HTML, d’entrer une expression XPath, et de voir les résultats correspondants en temps réel. Cet outil est particulièrement adapté aux débutants qui souhaitent commencer rapidement et faire des exercices simples de XPath.
Plugin XPath Helper : Prenons Chrome Browser par exemple, après avoir installé le plugin XPath Helper, il ajoute une fenêtre flottante à l’interface du navigateur lors de la navigation sur le web, affichant le chemin XPath de l’élément actuel survolé par la souris, et vous pouvez éditer et tester directement les expressions XPath dans la fenêtre, améliorant considérablement l’efficacité du développement.

Syntaxe abstraite XPath

Sélectionnez un nœud

XPath utilise des expressions de chemin pour sélectionner les nœuds dans un document XML. Les nœuds sont sélectionnés en suivant un chemin ou une étape. Les expressions de chemin les plus utiles sont listées ci-dessous :
expression
description
NodenameSélectionne tous les nœuds enfants de ce nœud.
/Choisissez le nœud racine (prenez le nœud enfant).
//Sélectionne les nœuds du document à partir du nœud courant de la sélection correspondante, quelle que soit leur localisation (prendre les nœuds descendants).
.Choisissez le nœud actuel.
..Choisissez le nœud parent du nœud actuel.
@Choisissez un attribut.

Dans le tableau ci-dessous, nous avons listé quelques expressions de chemin ainsi que les résultats des expressions :
Expressions de chemin
résultat
librairieChoisissez tous les nœuds nommés librairie.
/bookstore
Choisissez la librairie à élément racine.
Note : Si le chemin commence par une barre oblique vers l’avant ( / ), alors ce chemin représente toujours un chemin absolu vers un élément !
Librairie/LivreSélectionne tous les éléments du livre qui sont des éléments enfants de la librairie.
//bookSélectionne tous les sous-éléments du livre, quelle que soit leur position dans le document.
librairie//livreSélectionnez tous les éléments de livres qui sont des descendants de l’élément librairie, peu importe où ils se trouvent sous la librairie.
@langChoisissez toutes les propriétés nommées lang.

Prédicats

Un prédicat est utilisé pour trouver un nœud spécifique ou un nœud contenant une valeur spécifiée.
Le prédicat est intégré entre parenthèses.
Dans le tableau ci-dessous, nous listons quelques expressions de chemin avec des prédicats, ainsi que les résultats des expressions :
Expressions de chemin
résultat
/bookstore/book[1]Choisissez le premier élément de livre qui fait partie de l’élément enfant de la librairie.
/bookstore/book[last()]Choisit le dernier élément du livre qui fait partie du sous-élément librairie.
/bookstore/book[last()-1]Choisit l’avant-dernier élément de livre qui appartient à l’élément enfant de la librairie.
/bookstore/book[position()<3]Choisissez les deux premiers éléments de livre qui sont des éléments enfants de l’élément librairie.
Titre[@lang]Sélectionne tous les éléments de titre qui possèdent une propriété nommée lang.
titre[@lang='eng']Sélectionne tous les éléments de titre qui ont un attribut lang avec une valeur eng.
/bookstore/book[price>35.00]Sélectionne tous les éléments livres de l’élément librairie, et la valeur de l’élément prix doit être supérieure à 35,00.
/bookstore/book[price>35.00]//titleChoisit tous les éléments de titre de l’élément livre dans l’élément librairie, et la valeur de l’élément prix doit être supérieure à 35,00.

Sélectionnez un nœud inconnu

Les jokers XPath peuvent être utilisés pour récupérer des éléments XML inconnus.
Génériques
description
*Correspond à n’importe quel nœud élémentaire.
@*Correspond à n’importe quel nœud d’attribut.
node()Correspond à n’importe quel type de nœud.

Dans le tableau ci-dessous, nous listons quelques expressions de chemin et les résultats de ces expressions :
Expressions de chemin
résultat
/bookstore/*Choisit tous les éléments enfants de l’élément librairie.
//*Sélectionne tous les éléments du document.
titre[@*]Sélectionne tous les éléments du titre avec attributs.

Choisissez plusieurs chemins

En utilisant « | » dans l’expression path Opérateurs, vous pouvez choisir plusieurs chemins.

Dans le tableau ci-dessous, nous listons quelques expressions de chemin et les résultats de ces expressions :
Expressions de chemin
résultat
//book/title | //book/priceChoisit tous les éléments de titre et de prix de l’élément livre.
Titre | prixChoisissez tous les éléments de titre et de prix dans le document.
/bookstore/book/title | //priceSélectionne tous les éléments de titre de l’élément livre qui appartiennent à l’élément librairie, ainsi que tous les éléments de prix du document.

Fonction XPath

Ce qui suit est une liste commentée des ajouts spécifiques à XPath à XPath par les fonctions principales de XPath et XSLT, incluant descriptions, syntaxes, listes de paramètres, types de résultats et sources dans les recommandations correspondantes du W3C.

  • Booléen()
  • plafond ()
  • choose()
  • concat()
  • contient()
  • count()
  • actuel() spécifique au XSLT
  • document() spécifique à XSLT
  • élément-disponible()
  • faux()
  • floor()
  • format-number() spécifique à XSLT
  • fonction-disponible()
  • generate-id() spécifique à XSLT
  • id()
  • clé() spécifique à XSLT
  • lang()
  • dernier()
  • Nom-local()
  • Nom()
  • Espace de noms-uri()
  • Normaliser l’espace()
  • not()
  • nombre()
  • position()
  • rond()
  • commence-avec()
  • String()
  • longueur-corde()
  • sous-string()
  • sous-chaîne après()
  • sous-chaîne avant()
  • sum()
  • System-property() spécifique à XSLT
  • traduire()
  • true()
  • unparsed-entity-url() spécifique à XSLT

Tests pratiques

Ouvrez Chrome et obtenez le contenu textuel de tous les liens de l’onglet A avec la commande suivante :
Comme montré ci-dessous :



Référence:La connexion hyperlientérée est visible.




Précédent:[Dramaturge] (3) Tests automatisés pour détecter les exceptions d’erreur
Prochain:.NET/C# appelle le service d’interface de traduction de texte Azure Translator
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com