Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Python
Code

PyQuery: jQuery de Python

by
Difficulty:BeginnerLength:ShortLanguages:

French (Français) translation by New Lune (you can also view the original English article)

Dans ce tutoriel, vous aurez un aperçu de PyQuery, une bibliothèque Python qui vous permet de faire des requêtes jQuery sur des documents XML. Syntaxiquement, il est assez similaire à jQuery, et si vous êtes familier avec jQuery, il devrait être plus facile à suivre.

Mise en route de PyQuery

Pour commencer avec PyQuery, installez le package Python à l'aide de PIP.

Une fois PyQuery installé, importez-le dans le programme Python.

Commençons par un exemple de base de la façon dont il fonctionne. Considérez le HTML suivant:

Passez le XML d'entrée à l'objet PyQuery et vous devriez être en mesure d'appliquer les requêtes de style jQuery.

Supposons divMain en tant qu'objet jQuery et imprimez le contenu HTML de la div.

Enregistrez les modifications et essayez d'exécuter le programme. Vous devriez avoir la sortie suivante:

Pour accéder au texte Hello World de l'intérieur de la portée, le code serait:

Enregistrez les modifications et essayez d'exécuter le code. Vous devriez avoir la sortie suivante:

Manipulation des attributs à l'aide de PyQuery

Voyons maintenant comment lire les attributs à l'aide de la bibliothèque PyQuery. Supposons que vous disposez d'un élément HTML tel qu'illustré:

Utilisez la bibliothèque PyQuery pour lire le contenu HTML ci-dessus.

Essayons d'accéder à l'attribut ID de l'ulMain ul.

Enregistrez les modifications ci-dessus et essayez d'exécuter le programme Python. Vous devriez avoir ID ulMain imprimé sur le terminal.

Vous avez vu comment accéder à l'attribut ID de l'ul ulMain. Essayons de définir un nom de classe pour le même élément ulMain. Pour spécifier un attribut de nom de classe, vous devez spécifier le nom de l'attribut et sa valeur correspondante comme indiqué:

Imprimez l'objet ulMain et vous devez avoir l'élément avec l'attribut de classe.

Vous pouvez également ajouter et supprimer des classes directement sans utiliser la méthode attr. Pour ajouter une classe à l'élément, vous pouvez utiliser la méthode addClass.

Pour supprimer une classe existante de l'élément, vous pouvez utiliser la méthode removeClass.

Gestion de CSS à l'aide de PyQuery

En dehors des attributs, l'élément aurait certaines propriétés CSS. Pour ajouter ou modifier les propriétés CSS, vous pouvez utiliser la méthode css et spécifier les propriétés. Disons que vous voulez spécifier la hauteur dans le style de l'ul ulMain. Le code suivant ajouterait les propriétés de style requises à l'élément.

Enregistrez les modifications ci-dessus et essayez d'exécuter le programme Python. Vous devriez avoir l'ul ulMain imprimé avec le nouveau style.

Pour ajouter plusieurs styles à l'élément, vous pouvez les spécifier comme suit:

Exécutez le programme et vous devriez avoir les styles ajoutés à l'ulMain.

Création et ajout d'éléments

Lors de la création d'éléments dynamiques, vous devez créer de nouveaux éléments et les ajouter à l'élément parent existant où ils seront rendus. Jetons un coup d'œil à la façon de créer et d'ajouter des éléments en utilisant PyQuery.

Supposons que vous ayez un div de conteneur principal appelé divMain.

Créons un nouvel élément span en utilisant PyQuery.

Ajoutez des propriétés CSS à la portée.

PyQuery fournit une méthode pour ajouter des éléments aux éléments existants. Vous pouvez utiliser la méthode append pour ajouter l'élément span à div divMain. Voici le code:

Enregistrez les modifications et exécutez le programme. Vous devriez être en mesure de voir le divMain imprimé avec la nouvelle portée créée.

Vous avez utilisé la méthode append pour ajouter la portée à la div. Vous avez une autre méthode alternative appelée appendTo qui ajouterait les nœuds à la valeur. Dans le cas ci-dessus, vous pouvez utiliser la méthode comme suit:

Trouver des éléments à l'aide de PyQuery

PyQuery fournit des méthodes pour trouver des enfants, les éléments suivants, les éléments les plus proches, etc. Il fournit également des méthodes pour filtrer et trouver des éléments à l'intérieur d'un nœud particulier.

Supposons que vous avez un morceau particulier de HTML comme indiqué:

Ajoutez le code HTML suivant à l'objet PyQuery:

Utilisons PyQuery pour trouver les enfants de div divMain. Ajoutez la ligne suivante de code pour imprimer les enfants de divMain.

Lors de l'exécution du programme, vous devriez avoir la sortie suivante:

Pour trouver l'élément le plus proche d'un élément, vous pouvez utiliser la méthode closest. Pour trouver l'élément div le plus proche de la portée, le code serait:

L'ordre ci-dessus renverrait la sortie suivante:

Une méthode find est également disponible pour trouver les éléments. Par exemple, pour trouver un span dans le divMain, vous devez appeler la méthode comme indiqué:

La commande ci-dessus renverrait la portée.

Insérer un élément dans HTML

Alors que append fait le travail d'ajouter des éléments aux éléments existants, parfois vous devez insérer des éléments après ou avant certains éléments. PyQuery fournit une méthode pour insérer des éléments avant ou après d'autres éléments.

Définissons un nouvel élément de paragraphe à insérer après l'intervalle à l'intérieur de la division divMain.

Appelez la méthode insertAfter sur l'élément p du paragraphe pour l'insérer après le span.

Enregistrez les modifications ci-dessus et exécutez le programme Python. Vous devriez avoir la sortie suivante:

De même, vous avez la méthode insertBefore, qui s'insère avant l'élément. Modifiez le code comme indiqué ci-dessous pour utiliser la méthode insertBefore:

Enregistrez les modifications et exécutez le programme. Vous devriez pouvoir voir la sortie suivante sur le terminal:

Finissons-en

Dans ce tutoriel, vous avez vu comment commencer avec PyQuery, une bibliothèque Python qui vous permet de faire des requêtes jQuery sur des documents XML. Vous avez vu comment manipuler les attributs et les styles CSS des éléments HTML.

Vous avez appris à créer et ajouter des éléments aux éléments existants et à insérer des éléments avant et après. Ce que vous avez vu dans ce tutoriel est juste la pointe de l'iceberg, et il y a beaucoup plus que cette bibliothèque a à offrir.

Pour des informations plus détaillées sur l'utilisation de cette bibliothèque, je vous recommande de lire la documentation officielle. Faites-nous savoir vos suggestions dans les commentaires ci-dessous.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.