lxml

Logiciel capture d'écran:
lxml
Détails logiciels:
Version: 3.4.4 Mise à jour
Date de transfert: 12 May 15
Développeur: infrae.com
Licence: Gratuit
Popularité: 70

Rating: nan/5 (Total Votes: 0)

lxml combine la vitesse de ces bibliothèques avec la simplicité du langage Python.
Compatible avec toutes les versions CPython 2,4 à 3,2

Ce qui est nouveau dans cette version:.

  • lxml.html.iterlinks maintenant retourne liens à l'intérieur des balises meta refresh.
  • New XmlParser options collect_ids = False pour désactiver la création de la table ID de hachage. Cela peut accélérer considérablement l'analyse des documents avec de nombreux identifiants différents qui ne sont pas utilisés.
  • L'analyseur utilise les tables de hachage par-document ID XML. Cela réduit la charge de la dict mondiale de l'analyseur et accélère l'analyse des documents avec de nombreux identifiants différents.
  • ElementTree.getelementpath (élément) renvoie une expression de ElementPath structurel pour l'élément en question, qui peut être utilisé pour les recherches plus tard.
  • xmlfile () accepte un nouvel argument à proximité = True de fermer le fichier (-like) des objets après avoir écrit pour eux. Avant, xmlfile () uniquement fermé le dossier si elle avait ouvert en interne.
  • Laissez & quot; bytearray & quot; type pour la saisie de texte ASCII.

Quoi de neuf dans la version 3.4.2:

  • lxml.html.iterlinks renvoie maintenant des liens à l'intérieur de méta rafraîchir les tags.
  • New XmlParser options collect_ids = False pour désactiver la création de la table ID de hachage. Cela peut accélérer considérablement l'analyse des documents avec de nombreux identifiants différents qui ne sont pas utilisés.
  • L'analyseur utilise les tables de hachage par-document ID XML. Cela réduit la charge de la dict mondiale de l'analyseur et accélère l'analyse des documents avec de nombreux identifiants différents.
  • ElementTree.getelementpath (élément) renvoie une expression de ElementPath structurel pour l'élément en question, qui peut être utilisé pour les recherches plus tard.
  • xmlfile () accepte un nouvel argument à proximité = True de fermer le fichier (-like) des objets après avoir écrit pour eux. Avant, xmlfile () uniquement fermé le dossier si elle avait ouvert en interne.
  • Laissez & quot; bytearray & quot; type pour la saisie de texte ASCII.

Ce qui est nouveau dans la version 3.3.2:

  • Les propriétés résolveurs et la version, ainsi que la set_element_class_lookup méthodes () et makeelement (), ont été perdus à partir d'objets iterparse.
  • Les instances de XMLSchema, Schematron et RelaxNG ne désactivez pas leur error_log locale avant d'exécuter une validation.
  • lxml.doctestcompare mélangé & quot; & quot prévu; et & quot; & quot réelle; des valeurs d'attributs.

Ce qui est nouveau dans la version 3.3.1:

  • Correction de bugs:
  • documents HTML analysés avec parser.feed () a échoué à trouver des éléments pendant tag itération.
  • Bâtiment dans PyPy échoué en raison du manque de soutien pour PyUnicode_Compare () et PyByteArray _ * () dans C-API de PyPy.
  • Compilation dans MSVC échoué en raison du manque & quot; stdint.h & quot; fichier d'en-tête standard.
  • iterparse () a échoué pour analyser BOM préfixé fichiers.

Ce qui est nouveau dans la version 3.3.0:

  • Correction de bugs:
  • L'heuristique qui distingue les chemins de fichiers à partir d'URL a été resserré à produire moins de faux négatifs.

Ce qui est nouveau dans la version 3.2.3:

  • Correction du support pour Python 2.4 qui a été perdu en 3.2 .2.

Ce qui est nouveau dans la version 3.2.1:

  • Les méthodes apply_templates () et process_children () de éléments d'extension XSLT ont gagné deux nouvelles options booléennes elements_only et remove_blank_text que soit rejeter toutes les chaînes ou uniquement blancs chaînes de la liste de résultats.

Ce qui est nouveau dans la version 3.2.0:

  • espaces en tête pourrait changer le comportement de l'analyse de chaîne fonctions dans lxml.html.
  • La chaîne fonctions dans lxml.html analyse sont plus robustes dans le visage de contenu HTML rare comme de cadres ou manquant balises body.
  • I / O errors tout en essayant d'accéder à des fichiers avec des chemins qui contiennent des caractères non-ASCII pourraient soulever UnicodeDecodeError place correctement signalé la IOError.
  • L'analyse syntaxique à partir de chaînes en mémoire l'accès au réseau handicapés dans l'analyseur par défaut et fait des tentatives ultérieures pour analyser à partir d'une URL sûr.

Ce qui est nouveau dans la version 3.1.2:

  • Passe attributs via l'API d'espace de noms-pas au courant de la pont sax (ie le handler.startElement () méthode) a échoué avec un TypeError.
  • erreur de sérialisation fixe en sortie de XSLT pour convertir l'arbre résultat d'une chaîne Unicode.

Ce qui est nouveau dans la version 3.0.2:

  • Correction d'un crash lors de l'arrêt interprète en passant à 0,17 Cython 0,3 pour la construction.

Ce qui est nouveau dans la version 3.0:

  • C14N permet de spécifier les préfixes compris à être promu au top- niveau pendant la sérialisation exclusive.
  • Le support initial pour la construction dans PyPy (par cpyext).
  • Les objets de DTD gagné une API qui permet l'accès en lecture à leurs déclarations.
  • xpathgrep.py gagné le soutien pour l'analyse ligne par ligne (par exemple de la sortie de grep) et pour entourer la sortie avec une nouvelle balise racine.
  • E-usine en lxml.builder accepte sous-types de types de données connus (tels que les sous-types de cordes) lors de la construction des éléments autour d'eux.
  • Arbre itération et iterparse () avec un argument tag sélective soutient le passage d'un jeu de balises. nœuds d'arbres seront retournés par les itérateurs si elles correspondent à l'une des balises.

Ce qui est nouveau dans la version 2.3.5:

  • Crash lors de la fusion de nœuds de texte element.remove ( ).
  • Crash in sax / cible analyseur lors de la déclaration doctype vide.

Ce qui est nouveau dans la version 2.3.4:

  • Crash lors de la construction d'un nsmap (propriété Element) avec URI d'espace de noms vide.
  • Accident raison de l'état de la course lorsque des erreurs (ou des messages de l'utilisateur) surviennent pendant le traitement XSLT filetée.
  • feuille de style XSLT compilation pourrait ignorer les erreurs de compilation.

Ce qui est nouveau dans la version 2.3.3:

  • Caractéristiques ajouté:
  • lxml.html.tostring () a gagné de nouvelles options de sérialisation with_tail et doctype.
  • Correction de bugs:
  • Correction d'un crash lors de l'utilisation iterparse () pour l'analyse HTML et demandant événements de départ.
  • analyse fixe de plus de sélecteurs dans cssselect. Espace avant pseudo-éléments et les pseudo-classes est importante car elle est un combinateur de descendant. & Quot; E: pseudo & quot; pour analyser la même que & quot; E *: & quot ;, pseudo pas & quot; E:. pseudo & quot;
  • lxml.html.diff ne soulève plus une exception lors de la frappe 'img' étiquettes sans attribut 'src'.

Ce qui est nouveau dans la version 2.3.2:

  • Caractéristiques ajouté:
  • lxml.objectify.deannotate () a une nouvelle option booléenne cleanup_namespaces pour supprimer les déclarations d'espace objectiver (et généralement nettoyer les déclarations d'espace de noms) après avoir enlevé les annotations de type.
  • lxml.objectify gagné sa fonction propre sous-élément () comme une copie de etree.SubElement pour éviter une importation contraire redondante de lxml.etree sur le côté de l'utilisateur.
  • Correction de bugs:
  • Correction de la & quot; descendant & quot; bogue dans cssselect une deuxième fois (après un premier correctif dans lxml 2.3.1). Le changement précédent a entraîné une régression des performances grave pour l'évaluation de l'expression traduit basé XPath. Notez que cela rompt l'utilisation de certaines des expressions XPath générés que XSLT chemins de localisation qui, auparavant, travaillé à la section 2.3.1.
  • Correction d'analyse de certains sélecteurs dans cssselect. Espace après combinators & quot; & # X3e; & quot ;, & quot; + & quot; et & quot; ~ & quot; est maintenant correctement ignoré. Auparavant est a été analysé comme un combinateur de descendant. Par exemple, & quot; div & # X3e; .foo & quot; a été analysé le même que & quot; div & # X3e; * .foo & quot; au lieu de & quot; div & # X3e; .foo & quot;.

Ce qui est nouveau dans la version 2.3.1:

  • Caractéristiques ajouté:
  • Nouvelle option kill_tags dans lxml.html.clean pour enlever des étiquettes spécifiques et leur contenu (ie toute leur sous-arbre).
  • pi.get () et pi.attrib sur instructions de traitement pour analyser les pseudo-attributs du contenu du texte d'instructions de traitement.
  • lxml.get_include () retourne une liste de chemins d'inclusion qui peuvent être utilisés pour compiler du code C externe contre lxml.etree. Ceci est particulièrement nécessaire pour lxml lié statiquement construit lorsque le code a besoin de compiler contre les versions de fichier d'en-tête mêmes exactes que lxml lui-même.
  • Resolver.resolve_file () prend une option CLOSE_FILE supplémentaire qui configure si le fichier (-like) objet sera fermé après avoir lu ou non. Par défaut, le dossier sera fermé, que ne devrait pas l'utilisateur de conserver une référence à elle.
  • Correction de bugs:
  • nettoyage de HTML n'a pas supprimé 'data:'. Liens
  • L'intégration html5lib de l'analyseur utilise maintenant la mise en œuvre «officielle» dans html5lib lui-même, ce qui fait que cela fonctionne avec les versions plus récentes de la bibliothèque.
  • Dans lxml.sax, endElementNS () pourraient à tort de rejeter un nom plaine tag lorsque l'événement de démarrage correspondant déduire la même plaine nom de la balise d'être dans l'espace de noms par défaut.
  • Quand un objet-fichier ouvert est passé dans parse () ou iterparse (), l'analyseur ne ferme plus après utilisation. Cette revient un changement dans lxml 2.3 où tous les fichiers seraient fermées. Il est de la responsabilité de l'utilisateur à fermer correctement le fichier (-like) objet, également en cas d'erreur.
  • erreur d'assertion dans lxml.html.cleaner lors de l'élimination des éléments de haut niveau.
  • Dans lxml.cssselect, utilisez le xpath 'A // B' (abréviation de 'A / noeud descendant-or-self :: () / B') à la place de 'A / descendant :: B »pour le css sélecteur descendant («A B»). Cela rend quelques cas de pointe pour être cohérent avec le comportement de sélection dans WebKit et Firefox, et fait plusieurs expressions css chemins de localisation valides (pour une utilisation dans xsl: template match).
  • Dans lxml.html, non sélectionné & # x3C option; & # X3e; balises apparaissent plus dans les valeurs du formulaire collectées.
  • Ajout / suppression de & # x3C option; & # X3e; Les valeurs à / à partir d'un choix multiple champ de formulaire les sélectionne et les déselectionne correctement.
  • Autres changements:
  • statique construit peut spécifier le répertoire de téléchargement avec l'option --download-dir.

Ce qui est nouveau dans la version 2.3:

  • Caractéristiques ajouté:
  • Lorsque vous cherchez pour les enfants, lxml.objectify prend '{} tag »comme signifiant un espace de noms vide, par opposition à l'espace de noms parent.
  • Correction de bugs:
  • Lorsque vous avez terminé la lecture d'un objet-fichier, l'analyseur appelle immédiatement sa méthode de .close ().
  • Lorsque vous avez terminé l'analyse, iterparse () ferme immédiatement le fichier d'entrée.
  • Le travail autour de bug libxml2 qui peut laisser l'analyseur de HTML dans un état non fonctionnel après l'analyse d'un document endommagé sévèrement (fixe dans libxml2 2.7.8).
  • Marque en HTML code de nettoyage est correctement nommé chapiteau.
  • Autres changements:
  • Certaines fonctions publiques dans le Cython niveau C-API ont des types de retour plus explicites.

Ce qui est nouveau dans la version 2.3beta1:

  • Correction de bugs:
  • Accident dans les nouvelles versions de libxml2 lors du déplacement des éléments entre les documents qui avaient attributs sur les nœuds de XInclude remplacés.
  • fonction XMLID () manquait les paramètres de l'analyseur et BASE_URL optionnels.
  • Recherche de balises génériques dans iterparse () a été cassé dans PY3.
  • lxml.html.open_in_browser () ne fonctionnait pas en Python 3 en raison de l'utilisation de os.tempnam. Il faut désormais un paramètre optionnel 'encoding'.

Logiciel similaire

pyebook
pyebook

13 May 15

metaPdf
metaPdf

5 Jun 15

dict2xml
dict2xml

13 May 15

Threading2
Threading2

28 Feb 15

Commentaires à lxml

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!