[PYTHON] XPath Basics (3) - Fonctions souvent utilisées pour XPath

La dernière fois, j'ai présenté la [méthode d'écriture XPath] la plus utilisée (https://qiita.com/Octoparse_Japan/items/2f46848803d68affd271), et cette fois, j'ai présenté les fonctions souvent utilisées pour XPath pour spécifier les données plus correctement. Je vais.

1. contient (): spécifiez l'élément qui contient une chaîne de caractères spécifique

contains () est généralement utilisé pour les recherches floues de valeurs d'attribut ou de chaînes contenues dans du texte.

2.jpg

Par exemple, si vous voulez tout obtenir avec Red dans l'attribut class de ce HTML, écrivez comme suit.

//span[contains(@class,“Red”)]

En d'autres termes, ce XPath signifie obtenir un élément span ** qui contient Red dans la classe **.

3.jpg

Par exemple, si vous souhaitez spécifier un élément contenant les caractères "Rowling" de ce code HTML, écrivez comme suit.

//span[contains(text(),"Rowling")]

** Conseils! ** ** Lorsque vous spécifiez le bouton de saut de page, ** "contient (text ()," next ")" ** est souvent utilisé. Cliquez ici pour savoir comment écrire un XPath qui spécifie un bouton d'avance de page ➡ Comment écrire un XPath qui spécifie un bouton d'avance de page

2. position (): Spécifiez l'élément à une position spécifique

Dans l'article précédent, j'ai présenté que vous pouvez obtenir les éléments d'ordre en plaçant un nombre entre [](crochet carré). Vous pouvez également spécifier le Nième élément en position.

Par exemple, dans le code HTML ci-dessus, "Produit 3" est le 4ème élément, écrivez-le comme suit.

//tbody/th[4]

En utilisant position () =, écrivez comme suit.

//tbody/th[position()=4]

4 (1).jpg

Lorsque vous obtenez un élément autre que "publicité", puisque "publicité" est le premier élément, écrivez comme suit.

//tbody/th[position()>1] 5 (1).jpg

3. et / non / ou: Spécifiez un élément qui contient plusieurs conditions

Si vous souhaitez spécifier un élément contenant plusieurs conditions à la fois, utilisez la fonction et / non / ou.

Si vous voulez obtenir le href comprenant "S_20" et "pdf" à partir de ce HTML, écrivez comme suit.

//a[contains(@href,“S_20”) and contains(@href,“pdf”)]

Si vous souhaitez obtenir [@href] autre que https://helpcenter.octoparse.jp/hc/ja/xpath/S_10.html à partir de ce HTML, écrivez comme suit.

//a[not(contains(@href, "S_10"))]

Si vous voulez obtenir le href contenant M ou L à partir de ce HTML, écrivez comme suit.

//a[contains(@href,”M_”) or contains(@href,”L_”)]

Aussi, si vous voulez obtenir un href autre que M ou L, combinez not et ou et écrivez comme suit.

//a[not(contains(@href,”M_”) or contains(@href,”L_”))]

Les fonctions ci-dessus sont souvent utilisées pour XPath. Si vous voulez en savoir plus sur la syntaxe / les fonctions XPath, veuillez consulter cet article.

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

Recommended Posts

XPath Basics (3) - Fonctions souvent utilisées pour XPath
Astro: modules / fonctions python fréquemment utilisés pour l'analyse
Résumé de l'installation souvent utilisé pour les projets d'IA
# Bases de Python (fonctions)
bases de python: fonctions
Fonctions pouvant être utilisées dans l'instruction for
# 4 [python] Bases des fonctions
XPath Basics (2) - Comment écrire XPath
Outils utilisés pour la copie
Paramètres souvent utilisés dans Jupyter
Les bases de Seaborn pour les débutants ④ Pairplot
Principes de base de XPath (1) - Concept de base de XPath
Arguments de mots-clés pour les fonctions Python
Python #function 1 pour les super débutants