LXML kombinerer hastigheten på disse bibliotekene med enkelhet av Python språket.
Kompatibel med alle CPython versjoner 2,4 til 3,2
Hva er nytt i denne versjonen:.
- lxml.html.iterlinks nå returnerer koblingene i meta refresh tags.
- New XMLParser opsjons collect_ids = False deaktivere ID hash table skapelse. Dette kan vesentlig øke hastigheten analyseringen av dokumenter med mange forskjellige IDer som ikke brukes.
- parser bruker per-dokument hash tabeller for XML-IDer. Dette reduserer belastningen av den globale parser dict og raskere parsing for dokumenter med mange forskjellige ID-er.
- ElementTree.getelementpath (element) returnerer en strukturell ElementPath uttrykk for den gitte element, som kan brukes for oppslag senere.
- xmlfile () aksepterer en ny argument nært = True å lukke filen (-lignende) objekter etter å skrive til dem. Før, xmlfile () bare lukket filen dersom den hadde åpnet det internt.
- Tillat & quot; bytearray & quot; type for ASCII skriving.
Hva er nytt i versjon 3.4.2:
- lxml.html.iterlinks returnerer nå koblingene i meta oppdatere tags.
- New XMLParser opsjons collect_ids = False deaktivere ID hash table skapelse. Dette kan vesentlig øke hastigheten analyseringen av dokumenter med mange forskjellige IDer som ikke brukes.
- parser bruker per-dokument hash tabeller for XML-IDer. Dette reduserer belastningen av den globale parser dict og raskere parsing for dokumenter med mange forskjellige ID-er.
- ElementTree.getelementpath (element) returnerer en strukturell ElementPath uttrykk for den gitte element, som kan brukes for oppslag senere.
- xmlfile () aksepterer en ny argument nært = True å lukke filen (-lignende) objekter etter å skrive til dem. Før, xmlfile () bare lukket filen dersom den hadde åpnet det internt.
- Tillat & quot; bytearray & quot; type for ASCII skriving.
Hva er nytt i versjon 3.3.2:
- Egenskapene resolvers og versjon, samt metoder set_element_class_lookup () og makeelement (), ble borte fra iterparse stedene.
- Forekomster av XMLSchema, Schematron og RelaxNG ikke klare sine lokale error_log før du kjører en validering.
- lxml.doctestcompare blandet opp & quot; forventet & quot; og & quot; faktiske & quot; i attributtverdier.
Hva er nytt i versjon 3.3.1:
- Bugs fast:
- HTML-dokumenter analyseres med parser.feed () ikke klarte å finne elementer under tag køyring.
- Building i PYPY mislyktes på grunn av manglende støtte for PyUnicode_Compare () og PyByteArray _ * () i PYPY C-API.
- Compilation i MSVC mislyktes på grunn av manglende & quot; stdint.h & quot; standard header fil.
- iterparse () mislyktes i å analysere BOM prefiks filer.
Hva er nytt i versjon 3.3.0:
- Bugs fast:
- Den heuristiske som skiller filbaner fra webadresser ble strammet til å produsere mindre falske negativer.
Hva er nytt i versjon 3.2.3:
- Fast støtte for Python 2.4 som ble tapt i 3.2 0,2.
Hva er nytt i versjon 3.2.1:
- De metoder apply_templates () og process_children () av XSLT skjøte elementer har fått to nye boolske alternativer elements_only og remove_blank_text at forkaste enten alle strenger eller blanke-bare strenger fra resultatlista.
Hva er nytt i versjon 3.2.0:
- Ledende mellomrom kan endre oppførselen til streng tolking funksjoner i lxml.html.
- streng tolking funksjoner i lxml.html er mer robuste i møte med uvanlig HTML-innhold som ramme eller mangler kropps tags.
- I / U-feil under forsøk på å få tilgang til filer med stier som inneholder ikke-ASCII-tegn kan heve UnicodeDecodeError stedet for skikkelig rapportere ioError.
- Parsing fra i-minne strenger deaktivert nettverkstilgang i standard parser og gjort påfølgende forsøk på å tolke fra en URL mislykkes.
Hva er nytt i versjon 3.1.2:
- Passing attributter gjennom navne-uvitende API av sax bridge (dvs. handler.startElement () -metoden) mislyktes med et Feiltype.
- Fast serialisering feil i XSLT-utgang når du konverterer resultatet treet til en Unicode-streng.
Hva er nytt i versjon 3.0.2:
- Fast krasj under avslutning tolk ved å bytte til Cython 0,17 0,3 for bygningen.
Hva er nytt i versjon 3.0:
- C14N kan spesifisere inkluderende prefikser å bli forfremmet til ovenfra- nivå under eksklusive serialisering.
- Første støtte for å bygge i PYPY (gjennom cpyext).
- DTD gjenstander fått et API som gjør lesetilgang til sine erklæringer.
- xpathgrep.py fått gjennomslag for parsing linje for linje (for eksempel fra grep output) og for rundt utgang med en ny rot tag.
- E-fabrikken i lxml.builder godtar subtyper av kjente datatyper (for eksempel streng subtyper) når de bygger elementene rundt dem.
- Tre køyring og iterparse () med en selektiv tag argument støtter passerer et sett med koder. Tre noder vil bli returnert ved iteratorer hvis de samsvarer med noen av kodene.
Hva er nytt i versjon 2.3.5:
- Crash når sammenslåing tekstnoder i element.remove ( ).
- Crash i sax / target parser ved rapportering tom doctype.
Hva er nytt i versjon 2.3.4:
- Crash når du bygger en nsmap (Element eiendom) med tom navnerom URI.
- Crash skyldes rase tilstand når feil (eller brukermeldinger) oppstå under gjenget XSLT-behandling.
- XSLT-stil kompilering kunne overse kompilering feil.
Hva er nytt i versjon 2.3.3:
- Har lagt til:
- lxml.html.tostring () fått nye serialisering alternativer with_tail og doctype.
- Bugs fast:
- Fikset en krasj når du bruker iterparse () for HTML parsing og ber start hendelser.
- Fast analyseringen av flere velgere i cssselect. Mellomrom før pseudo-elementer og pseudo-klasser er viktig som det er en etterkommer combinator. & Quot; E: pseudo & quot; skal analysere det samme som & quot; E *: pseudo & quot ;, ikke & quot; E:. pseudo & quot;
- lxml.html.diff ikke lenger hever et unntak når du trykker 'img' tags uten 'src' attributt.
Hva er nytt i versjon 2.3.2:
- Har lagt til:
- lxml.objectify.deannotate () har en ny boolsk opsjons cleanup_namespaces for å fjerne objectify navneromdeklarasjoner (og generelt rydde opp navneromdeklarasjoner) etter fjerning av typen kommentarer.
- lxml.objectify fikk sin egen underelement () -funksjonen som en kopi av etree.SubElement å unngå en ellers overflødig import av lxml.etree på brukerens side.
- Bugs fast:
- Fast & quot; kommer & quot; bug i cssselect en gang (etter en første fix i LXML 2.3.1). Den forrige endringen resulterte i en alvorlig ytelse regresjon for XPath basert evaluering av den oversatte uttrykk. Merk at dette bryter bruken av noen av de genererte XPath uttrykk som XSLT steds baner som tidligere jobbet i 2.3.1.
- Fast analyseringen av noen velgere i cssselect. Mellomrom etter combinators & quot; & # x3e; & quot ;, & quot; + & quot; og & quot; ~ & quot; er nå fullstendig ignorert. Tidligere er ble tolket som en etterkommer combinator. For eksempel & quot; div & # x3e; .foo & quot; ble tolket det samme som & quot; div & # x3e; * .foo & quot; i stedet for & quot; div & # x3e; .foo & quot;.
Hva er nytt i versjon 2.3.1:
- Har lagt til:
- Nytt alternativ kill_tags i lxml.html.clean å fjerne spesifikke tagger og deres innhold (dvs. sin helhet treet).
- pi.get () og pi.attrib på behandlingsinstruksjoner analysere pseudo-attributter fra teksten innholdet i behandlingsinstruksjoner.
- lxml.get_include () returnerer en liste over steder i baner som kan brukes til å kompilere ekstern C-kode mot lxml.etree. Dette er spesielt nødvendig for statisk linket LXML bygger når koden må kompilere mot nøyaktig samme header filversjoner som LXML selv.
- Resolver.resolve_file () tar et ekstra alternativ close_file som konfigurerer hvis filen (-lignende) objektet vil bli stengt etter å ha lest eller ikke. Som standard vil filen bli stengt, som brukeren ikke er ventet å holde en referanse til det.
- Bugs fast:
- HTML rengjøring ikke fjerne 'data:'. Lenker
- html5lib parser integrering nå bruker den "offisielle" implementering i html5lib selv, som gjør at det fungerer med nyere versjoner av biblioteket.
- I lxml.sax kunne endElementNS () feilaktig avviser en vanlig tag navn når den tilsvarende start hendelsen utledes samme sletten tag navn for å være i standard navnerom.
- Når en åpen fil lignende gjenstand er gått inn parse () eller iterparse (), vil parseren ikke lenger lukke den etter bruk. Dette går tilbake en endring i LXML 2.3 der alle filene vil være stengt. Det er brukerens ansvar å lukke riktig filen (-lignende) objekt, også i feiltilfeller.
- Assertion feil i lxml.html.cleaner avfall øverste nivå elementer.
- I lxml.cssselect, bruke XPath 'A // B' (forkortelse for 'A / etterkommer-eller-self :: node () / B') i stedet for 'A / kommer :: B' for css kommer velgeren ('A B'). Dette gjør noen kant tilfeller å være i samsvar med velgeratferd i WebKit og Firefox, og gjør flere css uttrykk gyldig plassering baner (for bruk i xsl: template match).
- I lxml.html, ikke-valgte & # X3c; alternativet & # x3e; koder ikke lenger dukke opp i de innsamlede form verdier.
- Legge til / fjerne & # X3c; alternativet & # x3e; verdier til / fra en multippel velger skjemafelt velger dem skikkelig og unselects dem.
- Andre endringer:
- Statisk bygger kan angi nedlastingskatalogen med --download-dir alternativ.
Hva er nytt i versjon 2.3:
- Har lagt til:
- Når du ser på barn, tar lxml.objectify {} tag "som betyr en tom navnerom, i motsetning til den overordnede navnerom.
- Bugs fast:
- Når du er ferdig med å lese fra en fil-lignende gjenstand, kaller parser umiddelbart sin .close () -metoden.
- Når du er ferdig parsing, stenger iterparse () umiddelbart input filen.
- Work-around for libxml2 bug som kan forlate HTML parser i en ikke-fungerende tilstand etter parsing en severly knust dokument (fast i libxml2 2.7.8).
- Marque tag i HTML opprydding kode er riktig navn telt.
- Andre endringer:
- Noen offentlige funksjoner i Cython-nivå C-API har mer eksplisitte retur typer.
Hva er nytt i versjon 2.3beta1:
- Bugs fast:
- Crash i nyere libxml2 versjoner når du flytter elementer mellom dokumenter som hadde attributter på erstattet XInclude noder.
- XMLID () -funksjonen manglet de valg parser og base_url- parametere.
- Søke etter joker tagger i iterparse () ble brutt i PY3.
- lxml.html.open_in_browser () fungerte ikke i Python 3 på grunn av bruk av os.tempnam. Det tar nå en valgfri 'koding' parameter.
Kommentarer ikke funnet