lxml

Software screenshot:
lxml
Dettagli del software:
Versione: 3.4.4 Aggiornato
Data di caricamento: 12 May 15
Sviluppatore: infrae.com
Licenza: Libero
Popolarità: 245

Rating: 5.0/5 (Total Votes: 1)

lxml combina la velocità di tali librerie con la semplicità del linguaggio Python.
Compatibile con tutte le versioni CPython 2,4-3,2

Cosa c'è di nuovo in questa versione:.

  • lxml.html.iterlinks ora restituisce link all'interno tag meta di aggiornamento.
  • collect_ids opzione Nuovo xmlparser = False per disabilitare la creazione tavolo ID hash. Questo può sostanzialmente accelerare l'analisi di documenti con molte ID differenti che non vengono utilizzati.
  • Il parser usa tabelle hash per-documento per gli ID XML. Ciò riduce il carico del parser dict globale e velocizza l'analisi per i documenti con molti ID differenti.
  • ElementTree.getelementpath (elemento) restituisce un'espressione ElementPath strutturale per l'elemento dato, che può essere usato per la ricerca successiva.
  • xmlfile () accetta un argomento nuovo close = True per chiudere il file (-come) gli oggetti dopo aver scritto per loro. Prima, XMLFILE () solo chiuso il file se aveva aperto internamente.
  • Consenti & quot; ByteArray & quot; tipo per l'immissione di testo ASCII.

Cosa c'è di nuovo nella versione 3.4.2:

  • lxml.html.iterlinks ora restituisce link all'interno meta aggiornare i tag.
  • collect_ids opzione Nuovo xmlparser = False per disabilitare la creazione tavolo ID hash. Questo può sostanzialmente accelerare l'analisi di documenti con molte ID differenti che non vengono utilizzati.
  • Il parser usa tabelle hash per-documento per gli ID XML. Ciò riduce il carico del parser dict globale e velocizza l'analisi per i documenti con molti ID differenti.
  • ElementTree.getelementpath (elemento) restituisce un'espressione ElementPath strutturale per l'elemento dato, che può essere usato per la ricerca successiva.
  • xmlfile () accetta un argomento nuovo close = True per chiudere il file (-come) gli oggetti dopo aver scritto per loro. Prima, XMLFILE () solo chiuso il file se aveva aperto internamente.
  • Consenti & quot; ByteArray & quot; tipo per l'immissione di testo ASCII.

Cosa c'è di nuovo nella versione 3.3.2:

  • Le proprietà resolver e la versione, così come il Metodi set_element_class_lookup () e makeelement (), sono stati persi da oggetti iterparse.
  • Le istanze di XMLSchema, Schematron e RelaxNG non cancellare il loro error_log locale prima di eseguire una convalida.
  • lxml.doctestcompare mischiato & quot; atteso & quot; e & quot; vero & quot; in valori degli attributi.

Cosa c'è di nuovo nella versione 3.3.1:

  • Problemi risolti:
  • documenti HTML analizzati con parser.feed () non è riuscito a trovare elementi durante tag iterazione.
  • Edificio a PyPy non riuscita a causa della mancanza di supporto per PyUnicode_Compare () e PyByteArray _ * () in C-API PyPy.
  • Compilation in MSVC non riuscita a causa della mancanza & quot; stdint.h & quot; file di intestazione standard.
  • iterparse () non riuscito per analizzare i file BOM prefisso.

Cosa c'è di nuovo nella versione 3.3.0:

  • Problemi risolti:
  • L'euristica che distingue i percorsi dei file da URL è stato rafforzato a produrre meno falsi negativi.

Cosa c'è di nuovo nella versione 3.2.3:

  • supporto fisso per Python 2.4, che è stato perso in 3.2 .2.

Cosa c'è di nuovo nella versione 3.2.1:

  • I metodi apply_templates () e process_children () di elementi di estensione XSLT hanno guadagnato due nuove opzioni booleane elements_only e remove_blank_text che scartare sia tutte le stringhe o spazi bianchi solo le stringhe dalla lista dei risultati.

Cosa c'è di nuovo nella versione 3.2.0:

  • spazi Leading potrebbe cambiare il comportamento del parsing della stringa funzioni lxml.html.
  • La stringa funzioni lxml.html parsing sono più robusti a fronte di contenuti HTML raro come set di frame o mancanti tag body.
  • I / O errors durante il tentativo di accedere ai file con i percorsi che contengono caratteri non ASCII potrebbero sollevare UnicodeDecodeError invece correttamente segnalato la IOError.
  • Analisi da stringhe in memoria disabilitato l'accesso alla rete nel parser di default e fece tentativi successivi di analizzare da un URL sicuro.

Cosa c'è di nuovo nella versione 3.1.2:

  • Passaggio attributi attraverso l'API namespace-inconsapevole del Ponte sax (cioè il handler.startElement () metodo) non riuscita con un TypeError.
  • errore di serializzazione fisso in uscita XSLT durante la conversione l'albero risultato in una stringa Unicode.

Cosa c'è di nuovo nella versione 3.0.2:

  • crash durante l'arresto interprete passando per Cython 0,17 .3 per la costruzione.

Cosa c'è di nuovo nella versione 3.0:

  • C14N permette di specificare i prefissi inclusive per essere promosso a top- livello durante la serializzazione esclusiva.
  • Il supporto iniziale per la costruzione a PyPy (attraverso cpyext).
  • oggetti DTD guadagnato una API che consente l'accesso in lettura alle loro dichiarazioni.
  • xpathgrep.py ottenuto il sostegno per l'analisi la linea per linea (ad esempio, da uscita grep) e per che circonda l'uscita con un nuovo tag root.
  • E-fabbrica in lxml.builder accetta sottotipi di tipi di dati noti (come sottotipi arco) per la costruzione di elementi intorno a loro.
  • iterazione Albero e iterparse () con un argomento tag selettiva supporta il superamento di un set di tag. Nodi della struttura saranno restituiti dagli iteratori se corrispondono uno qualsiasi dei tag.

Cosa c'è di nuovo nella versione 2.3.5:

  • Crash durante l'unione di nodi di testo a element.remove ( ).
  • Crash in parser sax / target quando si segnalano doctype vuoto.

Cosa c'è di nuovo nella versione 2.3.4:

  • Crash quando si costruisce un nsmap (proprietà Element) con URI dello spazio dei nomi vuoto.
  • Crash a causa di condizioni di gara, quando gli errori (o messaggi utente) si verificano durante l'elaborazione di XSLT filettato.
  • foglio di stile XSLT compilazione potrebbe ignorare gli errori di compilazione.

Cosa c'è di nuovo nella versione 2.3.3:

  • Features ha aggiunto:
  • lxml.html.tostring () ha guadagnato nuove opzioni di serializzazione with_tail e doctype.
  • Problemi risolti:
  • Risolto un crash durante l'utilizzo iterparse () per l'analisi HTML e la richiesta di eventi di avvio.
  • analisi fisso di più selettori in cssselect. Lo spazio bianco prima di pseudo-elementi e pseudo-classi è significativa in quanto è un combinatore discendente. & Quot; E: pseudo & quot; dovrebbe analizzare lo stesso & quot; E *: pseudo & quot ;, non & quot; E:. pseudo & quot;
  • lxml.html.diff non suscita più un'eccezione quando si colpissero i 'img' senza l'attributo 'src'.

Cosa c'è di nuovo nella versione 2.3.2:

  • Features ha aggiunto:
  • lxml.objectify.deannotate () ha un nuovo cleanup_namespaces opzione booleana per rimuovere le dichiarazioni di namespace oggettivare (e generalmente ripulire le dichiarazioni di namespace) dopo aver rimosso le annotazioni di tipo.
  • lxml.objectify guadagnato la sua funzione propria sottoelemento () come una copia di etree.SubElement per evitare un'importazione altrimenti ridondante lxml.etree sul lato utente.
  • Problemi risolti:
  • Risolto il & quot; discendente & quot; bug in cssselect la seconda volta (dopo una prima correzione in lxml 2.3.1). La variazione precedente comportato una grave regressione prestazioni per la valutazione basata XPath dell'espressione tradotto. Si noti che questo rompe l'utilizzo di alcune delle espressioni XPath generati come percorsi di locazione XSLT che hanno lavorato a 2.3.1.
  • parsing fisso di alcuni selettori in cssselect. Lo spazio bianco dopo combinatori & quot; & # X3e; & quot ;, & quot; + & quot; e & quot; ~ & quot; è ora ignorato corretto. In precedenza è stato analizzato come un combinatore discendente. Ad esempio, & quot; div & # X3e; .foo & quot; è stato analizzato lo stesso come & quot; div & # X3e; * .foo & quot; invece di & quot; div & # X3e; .foo & quot;.

Cosa c'è di nuovo nella versione 2.3.1:

  • Features ha aggiunto:
  • Nuova opzione kill_tags in lxml.html.clean per rimuovere i tag specifici e il loro contenuto (cioè il loro un'intera sottostruttura).
  • pi.get () e pi.attrib su istruzioni di elaborazione per analizzare pseudo-attributi dal contenuto del testo di istruzioni di elaborazione.
  • lxml.get_include () restituisce una lista di includere percorsi che possono essere utilizzate per compilare il codice C esterno contro lxml.etree. Questo per esigenze specifiche di lxml linkato staticamente costruisce quando il codice necessario compilare contro le stesse versioni di file di intestazione esatta come lxml sé.
  • Resolver.resolve_file () accetta un CLOSE_FILE un'opzione aggiuntiva che configura se il file (-come) oggetto verrà chiusa dopo la lettura o meno. Per impostazione predefinita, il file verrà chiusa, come l'utente non dovrebbe mantenere un riferimento ad esso.
  • Problemi risolti:
  • pulizia HTML non ha rimosso 'dati:'. Collegamenti
  • L'integrazione html5lib parser ora utilizza l'applicazione 'ufficiale' in html5lib sé, che lo fa funzionare con le nuove versioni della libreria.
  • Nella lxml.sax, endElementNS () potrebbe erroneamente rifiutare un nome di tag normale quando l'evento di avvio corrispondente dedurre lo stesso nome di tag pianura di essere nello spazio dei nomi di default.
  • Quando un oggetto simile a file aperto viene passato in parse () o iterparse (), il parser non si chiude più dopo l'uso. Questo ripristina un cambiamento lxml 2.3 dove tutti i file sarebbe stato chiuso. E 'responsabilità degli utenti di chiudere correttamente il file (-come) oggetto, anche in casi di errore.
  • errore di asserzione in lxml.html.cleaner quando scartando elementi di primo livello.
  • Nella lxml.cssselect, usare il XPath 'A // B' (abbreviazione di 'A / node-discendente or-self :: () / B') invece di 'A / discendente :: B' per il css Selettore discendente ('A B'). Questo rende alcuni casi limite di essere coerente con il comportamento del selettore di WebKit e Firefox, e rende più espressioni css validi percorsi di locazione (per l'uso in xsl: template match).
  • Nella lxml.html, non selezionato & # x3c; opzione & # X3e; tag mostrano non sono più i valori di modulo raccolti.
  • Aggiunta / rimozione di & # x3c; opzione & # X3e; I valori a / da una selezione campo di modulo multiple li seleziona e li deseleziona correttamente.
  • Altre modifiche:
  • Static costruisce può specificare la directory di download con l'opzione --download-dir.

Cosa c'è di nuovo nella versione 2.3:

  • Features ha aggiunto:
  • Quando si cerca per i bambini, lxml.objectify prende '{} tag' nel senso di uno spazio dei nomi vuoto, in contrasto con il namespace genitore.
  • Problemi risolti:
  • Quando finito di leggere da un oggetto simile a file, il parser chiama immediatamente il suo metodo .Close ().
  • Una volta terminato l'analisi, iterparse () chiude immediatamente il file di input.
  • work-around per libxml2 bug che può lasciare il parser HTML in uno stato non funzionale dopo l'analisi di un documento spezzato gravemente (fissato in libxml2 2.7.8).
  • tag Marque in HTML codice di pulitura si chiama correttamente tendone.
  • Altre modifiche:
  • Alcune funzioni pubbliche nella Cython livello C-API hanno tipi restituiti più espliciti.

Cosa c'è di nuovo nella versione 2.3beta1:

  • Problemi risolti:
  • Crash nelle versioni più recenti libxml2 quando si spostano gli elementi tra i documenti che avevano attributi sui nodi XInclude sostituiti.
  • funzione XMLID () mancava parametri parser e base_url opzionali.
  • Ricerca per tag jolly a iterparse () era rotto in PY3.
  • lxml.html.open_in_browser () non ha funzionato in Python 3 a causa dell'uso di os.tempnam. Ci vuole ora un parametro opzionale 'encoding'.

Programmi simili

pycksum
pycksum

13 May 15

python-pptx
python-pptx

1 Mar 15

ConfigIt
ConfigIt

13 Apr 15

Couchquery
Couchquery

13 May 15

Commenti a lxml

I commenti non trovato
Aggiungi commento
Accendere le immagini!