Maison développement back-end Tutoriel Python Compréhension complète de la bibliothèque d'analyse XML du robot d'exploration Python

Compréhension complète de la bibliothèque d'analyse XML du robot d'exploration Python

Aug 08, 2017 am 11:33 AM
python 爬虫

L'éditeur suivant vous proposera un article sur la bibliothèque d'analyse xlml du robot d'exploration Python (compréhension complète). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour jeter un œil

1.Xpath

Parcourez les éléments et les attributs dans les documents XML. XQuery et xpoint sont tous deux construits sur l'expression XPath

2 Noeud

parent, enfant, frère (frère), ancêtre (ancêtre), descendant (Dcendant)

3. Sélectionnez le nœud

Expression du chemin

表达式 描述 路径表达式 结果
nodename 选取此节点上的所有的子节点 bookstore 选取bookstore元素的所有子节点
/ 从根节点上选取 /bookstore 选取根元素bookstore,为绝对路径
// 从匹配选择的当前节点选择文档中的节点,不考虑位置 //book 选取所有的book子元素,而不管他们在文档的位置
. 选取当前节点 bookstore//book 选择bookstore后代中所有的book元素
.. 选取当前节点的父节点

@ 选取属性 //@lang 选取名为lang的所有属性

Prédicat

Le 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 placé entre crochets

路径表达式 结果
/bookstore/book[1] 选取属于bookstore子元素的第一个book元素
/bookstore/book[last()] 选取属于bookstore子元素的最后book元素
/bookstore/book[last()-1] 选取属于bookstore子元素的倒数第二个book元素
/bookstore/book[position()<3]选取最前面的两个属于bookstore元素的子元素的book元素
//title[@lang='eng']选取所有的title元素,并且这些元素拥有值为eng的lang属性
/bookstore/book[price>35.0] 选取bookstore元素的所有book元素,且其中的price值大于35.0

Sélectionnez les nœuds inconnus (caractères génériques)

* Faites correspondre n'importe quel nœud d'élément

@* Faites correspondre n'importe quel nœud d'attribut

node() Correspond à tout type de nœud

Utilisation de 4.lxml


#!/usr/bin/python
#_*_coding:utf-8_*_

from lxml import etree

text=&#39;&#39;&#39;
<p>
 <ul>
  <li class="item-0"><a href="link1.html" rel="external nofollow" rel="external nofollow" >first item</a></li>
  <li class="item-1"><a href="link2.html" rel="external nofollow" >second item</a></li>
  <li class="item-inactive"><a href="link3.html" rel="external nofollow" >third item</a></li>
  <li class="item-1"><a href="link4.html" rel="external nofollow" >fourth item</a></li>
  <li class="item-0"><a href="link5.html" rel="external nofollow" >fifth item</a>
 </ul>
</p>
  &#39;&#39;&#39;

# html=etree.HTML(text) #html对象,存储在地址中,有自动修正功能
# result=etree.tostring(html) #将html对象转化为字符串

html=etree.parse(&#39;hello.html&#39;)
# result=etree.tostring(html,pretty_print=True)
# print result
print type(html)
result= html.xpath(&#39;//li&#39;)
print result
print len(result)
print type(result)
print type(result[0])
print html.xpath(&#39;//li/@class&#39;) # 获取li标签下的所有的class
print html.xpath(&#39;//li/a[@href="link1.html" rel="external nofollow" rel="external nofollow" ]&#39;) #获取li标签下href为link1的<a>标签
print html.xpath(&#39;//li//span&#39;) #获取li标签下所有的span标签
print html.xpath(&#39;//li[last()-1]/a&#39;)[0].text #获取倒数第二个元素的内容
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la fonction de la somme du langage C? Quelle est la fonction de la somme du langage C? Apr 03, 2025 pm 02:21 PM

Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment convertir XML en mp3 Comment convertir XML en mp3 Apr 03, 2025 am 09:00 AM

Les étapes pour convertir XML en MP3 incluent: Extraire les données audio de XML: analyser le fichier XML, trouver la chaîne de codage Base64 contenant les données audio et les décoder en format binaire. Encoder les données audio à MP3: Installez l'encodeur MP3 et définissez les paramètres de codage, encodez les données audio binaires au format MP3 et enregistrez-les dans un fichier.

Apr 03, 2025 am 08:12 AM

La modification des données XML peut être effectuée manuellement ou en utilisant des langages de programmation et des bibliothèques. Les modifications manuelles conviennent à de petites quantités de modifications aux petits documents, notamment en ajoutant, modifiant ou supprimant les éléments et attributs. Pour des modifications plus complexes, des langages de programmation et des bibliothèques tels que Python's XML.Dom et Java Javax.xml.PARSERS, qui fournissent des outils pour le traitement des données XML. Lors de la modification des données XML, assurez-vous sa validité, créez des sauvegardes et suivez les règles de syntaxe XML, y compris les balises et propriétés correctes.

Comment changer le format de XML Comment changer le format de XML Apr 03, 2025 am 08:42 AM

Il existe plusieurs façons de modifier les formats XML: édition manuellement avec un éditeur de texte tel que le bloc-notes; Formatage automatique avec des outils de mise en forme XML en ligne ou de bureau tels que XMLBeautifier; Définir les règles de conversion à l'aide d'outils de conversion XML tels que XSLT; ou analyser et fonctionner à l'aide de langages de programmation tels que Python. Soyez prudent lorsque vous modifiez et sauvegardez les fichiers d'origine.

Est-ce que distincte est lié? Est-ce que distincte est lié? Apr 03, 2025 pm 10:30 PM

Bien que distincts et distincts soient liés à la distinction, ils sont utilisés différemment: distinct (adjectif) décrit le caractère unique des choses elles-mêmes et est utilisée pour souligner les différences entre les choses; Distinct (verbe) représente le comportement ou la capacité de distinction, et est utilisé pour décrire le processus de discrimination. En programmation, distinct est souvent utilisé pour représenter l'unicité des éléments d'une collection, tels que les opérations de déduplication; Distinct se reflète dans la conception d'algorithmes ou de fonctions, tels que la distinction étrange et uniforme des nombres. Lors de l'optimisation, l'opération distincte doit sélectionner l'algorithme et la structure de données appropriés, tandis que l'opération distincte doit optimiser la distinction entre l'efficacité logique et faire attention à l'écriture de code clair et lisible.

Comment convertir XML en mot Comment convertir XML en mot Apr 03, 2025 am 08:15 AM

Il existe trois façons de convertir XML en Word: utilisez Microsoft Word, utilisez un convertisseur XML ou utilisez un langage de programmation.

Comment comprendre! X en C? Comment comprendre! X en C? Apr 03, 2025 pm 02:33 PM

! x Compréhension! X est un non-opérateur logique dans le langage C. Il booléen la valeur de x, c'est-à-dire que les véritables modifications sont fausses et fausses modifient true. Mais sachez que la vérité et le mensonge en C sont représentés par des valeurs numériques plutôt que par les types booléens, le non-zéro est considéré comme vrai, et seul 0 est considéré comme faux. Par conséquent,! X traite des nombres négatifs de la même manière que des nombres positifs et est considéré comme vrai.

See all articles