[PYTHON] Principes de base de XPath (1) - Concept de base de XPath

Il existe deux façons de récupérer automatiquement les données du site Web. L'un consiste à créer un robot d'exploration Web dans un langage de programmation tel que Python, et l'autre est un [outil de scraping Web](https: //www.octoparse.) Comme Octoparse. jp / blog / top-30-free-web-scraping-software /) pour obtenir les données. Mais dans tous les cas, XPath joue un rôle important. Si vous savez écrire XPath, vous pouvez obtenir les données plus correctement et plus efficacement.

Donc, dans la série XPath, je voudrais présenter en détail le concept de base de XPath à la façon d'écrire et d'appliquer XPath.

Cet article présente brièvement les concepts de base de XPath.

1. Qu'est-ce que XPath?

XPath (XML Path Language) est un élément d'un document XML / HTML qui a une structure arborescente. Il s'agit d'une syntaxe (langage) concise pour spécifier des valeurs d'attributs telles que et. Comme les pages Web sont généralement écrites en HTML, XPath est souvent utilisé pour obtenir des informations sur les pages Web. Lors de la visualisation du HTML d'une page Web dans un navigateur (Chrome, Firefox, etc.), vous pouvez facilement accéder au document HTML correspondant en appuyant sur la touche F12. 1.png

2. Comment fonctionne XPath

Jetons un coup d'œil au fonctionnement spécifique de XPath. L'image ci-dessous fait partie d'un document HTML. 2.png

HTML a différents niveaux, comme une structure arborescente. Dans cet exemple, le niveau 1 est ** librairie ** et le niveau 2 est ** livre **. ** Titre, auteur, année, prix ** sont tous de niveau 3.

Le texte qui contient des crochets angulaires (comme ) est appelé une balise. Les éléments HTML se composent généralement d'une balise de début et d'une balise de fin, avec un contenu inséré entre elles. Il a la forme suivante.

** <○○> (balise de début) Le contenu sera saisi ici ... </ ○○> (balise de fin) **

XPath décrit la hiérarchie séparée par une barre oblique «/» et vous pouvez spécifier un autre nœud à partir du nœud de référence. Similaire à URL. Dans cet exemple, si vous recherchez l'élément "author", le XPath ressemble à ceci:

/bookstore/book/author

Pour mieux comprendre son fonctionnement, consultez Comment trouver un fichier spécifique sur votre ordinateur. 3.png

Pour trouver le fichier nommé "author", le chemin d'accès correct est ** \ bookstore \ book \ author **.

Tout comme chaque fichier sur votre ordinateur a son propre chemin, il en va de même pour un élément d'une page Web. Le chemin est décrit dans XPath.

Le XPath qui commence à l'élément racine (l'élément supérieur du document) et passe par tous les éléments à l'intérieur de l'élément cible est appelé un XPath absolu.

** ʻExemple: / html / body / div / div / div / div / div / div / div / div / div / span / span / span… `**

Absolute XPath peut être long et déroutant, donc pour simplifier le XPath absolu, vous pouvez utiliser "//" pour omettre les chemins à mi-chemin (également appelés XPath courts).

Par exemple

** ʻAbsolute XPath: / librairie / livre / auteur** **Short XPath: // auteur` **

3. Pour afficher / écrire XPath

[Pour Google Chrome]

Affichez cette page dans Chrome et affichez les outils de développement à partir du menu contextuel Valider. En html sur l'onglet Elément, cliquez avec le bouton droit sur l'élément. Sélectionnez [Copier] -> [Copier XPath] dans le menu pour copier le XPath afin d'obtenir l'élément dans le presse-papiers. xpath-chrome2.png

À partir de l'onglet html élément affiché, appuyez sur "Ctrl + F" pour afficher le champ de recherche. Lorsque vous entrez dans XPath, l'élément résultant doit être sélectionné. mceclip0.png

Vous pouvez également ajouter une extension appelée "XPath Helper". Entrez le XPath et vous verrez les résultats correspondants. (Install XPath Helper) 25.png

[Pour Firefox]

Vous pouvez utiliser l'extension "Firebug" installée dans la version précédente de Firefox. ([Comment installer l'extension Firebug et FireXPath](https://helpcenter.octoparse.jp/hc/ja/articles/360015765193-Firebug-FireXPath%E6%8B%A1%E5%BC%B5%E6%A9%9F] % E8% 83% BD% E3% 82% 92% E3% 82% A4% E3% 83% B3% E3% 82% B9% E3% 83% 88% E3% 83% BC% E3% 83% AB% E3 % 81% 99% E3% 82% 8B% E6% 96% B9% E6% B3% 95))

Ouvrez une page Web dans Firefox ➡ Cliquez sur le bouton Firebug ➡ Cliquez sur un élément de la page ➡ Le XPath de cet élément s'affiche. mceclip3.png

Ce qui précède est le concept de base de XPath. La prochaine fois, je vous montrerai comment écrire XPath, alors attendez-le avec impatience!

Article original: https://helpcenter.octoparse.jp/hc/ja/articles/360015765513

Recommended Posts

Principes de base de XPath (1) - Concept de base de XPath
Les bases de Python ①
Bases de python ①
Utilisation basique de flask-classy
Utilisation de base de Jinja2
Fonctionnement de base des Pandas
Utilisation de base de SQL Alchemy
# 4 [python] Bases des fonctions
Connaissance de base de Python
Bases des programmes réseau?
La fondation de la fondation Perceptron
Bases de l'analyse de régression
Bases de python: sortie
Utilisation super basique de pytest
Bases de l'apprentissage automatique (mémoire)
Utilisation de base de l'interface graphique PySimple
Flux de base de détection d'anomalies
Résumé de l'utilisation de base de Pandas
Graphique de base à une ligne de HoloViews
Utilisation basique de la f-string Python
Principes de base de Python x SIG (1)
Connaissance de base de Linux et des commandes de base
Principes de base de Python x SIG (3)
Paiza Python Primer 5: Principes de base des dictionnaires
Résumé des connaissances de base de PyPy Partie 1
Résumé de l'implémentation de base par PyTorch
XPath Basics (3) - Fonctions souvent utilisées pour XPath
Premiers pas avec Python Bases de Python
À propos du type de base de Go
[À voir pour les débutants] Bases de Linux
Extraction de sujets de texte japonais 1 Bases
Revue des bases de Python (FizzBuzz)
Bases de la théorie de l'information quantique: Entropie (2)
Principes de base de Python x SIG (partie 2)
Principes de base pour toucher MongoDB avec MongoEngine
Lire "Les bases du recuit quantique" Jour 6
À propos de la liste de base des bases de Python
Etude de base d'OpenCV avec Python
Apprenez les bases de Python ① Débutants élémentaires