lxml

Software kuvakaappaus:
lxml
Ohjelmiston tiedot:
Versio: 3.4.4 Päivitetty
Lähetyksen päivämäärä: 12 May 15
Kehittäjä: infrae.com
Lupa: Vapaa
Suosio: 70

Rating: nan/5 (Total Votes: 0)

LXML yhdistyvät nopeus näiden kirjastojen yksinkertaisuus Python.
Yhteensopiva kaikkien CPython versiot 2,4-3,2.

Mikä on uusi tässä julkaisussa:

  • lxml.html.iterlinks nyt palauttaa linkit sisällä meta refresh tageja.
  • Uusi XMLParser vaihtoehto collect_ids = False poistaa ID hash taulukon luominen. Tämä voi merkittävästi nopeuttaa jäsentää asiakirjoja monien eri tunnukset, joita ei käytetä.
  • parser käyttää per-asiakirjan hash taulukoita XML tunnukset. Tämä vähentää kuormitusta maailmanlaajuisen jäsentimen dict ja nopeuttaa jäsentämiseen asiakirjoja monilla eri tunnukset.
  • ElementTree.getelementpath (elementti) palauttaa rakenteellinen ElementPath lauseke tietyn elementin, jota voidaan käyttää haut myöhemmin.
  • xmlfile () hyväksyy uuden väitteen lähellä = True Sulje tiedosto (kaltaista) vastustaa kirjoittamisen jälkeen heille. Ennen, xmlfile () vain suljettu tiedoston, jos se olisi avannut sen sisäisesti.
  • Anna & quot; bytearray & quot; tyyppi ASCII tekstinsyöttöä.

Mikä on uusi versiossa 3.4.2:

  • lxml.html.iterlinks nyt palaa linkkejä sisällä meta virkistää tageja.
  • Uusi XMLParser vaihtoehto collect_ids = False poistaa ID hash taulukon luominen. Tämä voi merkittävästi nopeuttaa jäsentää asiakirjoja monien eri tunnukset, joita ei käytetä.
  • parser käyttää per-asiakirjan hash taulukoita XML tunnukset. Tämä vähentää kuormitusta maailmanlaajuisen jäsentimen dict ja nopeuttaa jäsentämiseen asiakirjoja monilla eri tunnukset.
  • ElementTree.getelementpath (elementti) palauttaa rakenteellinen ElementPath lauseke tietyn elementin, jota voidaan käyttää haut myöhemmin.
  • xmlfile () hyväksyy uuden väitteen lähellä = True Sulje tiedosto (kaltaista) vastustaa kirjoittamisen jälkeen heille. Ennen, xmlfile () vain suljettu tiedoston, jos se olisi avannut sen sisäisesti.
  • Anna & quot; bytearray & quot; tyyppi ASCII tekstinsyöttöä.

Mikä on uusi versiossa 3.3.2:

  • ominaisuudet resolvereita ja versio, sekä menetelmiä set_element_class_lookup () ja makeelement (), menetettiin alkaen iterparse esineistä.
  • Tapaukset XMLSchema, Schematron ja RelaxNG eivät tyhjennä paikallisten error_log ennen käynnissä validointi.
  • lxml.doctestcompare sekaisin & quot; odotettavissa & quot; ja & quot; todellisia & quot; in määreet.

Mikä on uusi versiossa 3.3.1:

  • Bugs kiinteä:
  • HTML-asiakirjojen jäsentää parser.feed () ei löytänyt elementtejä aikana tag iteraation.
  • Building pypy epäonnistui, koska puuttuu tuki PyUnicode_Compare () ja PyByteArray _ * () in pypy n C-API.
  • Kokoelma vuonna MSVC epäonnistui, koska puuttuvien & quot; stdint.h & quot; standardi header-tiedosto.
  • iterparse () epäonnistui jäsentää BOM ennalta tiedostoja.

Mikä on uusi versiossa 3.3.0:

  • Bugs kiinteä:
  • heuristinen joka erottaa tiedostopoluista URL-osoitteista tiukennettiin tuottaa vähemmän vääriä negatiivisia.

Mikä on uusi versiossa 3.2.3:

  • Kiinteät Python 2.4, joka menetettiin 3.2 .2.

Mikä on uusi versiossa 3.2.1:

  • menetelmillä apply_templates () ja process_children () ja XSLT laajennus elementit ovat saaneet kaksi uutta boolean vaihtoehtoa elements_only ja remove_blank_text että hylätä joko kaikki narut tai tyhjämerkeistä jouset tulosluettelosta.

Mikä on uusi versiossa 3.2.0:

  • Leading tyhjää voisi muuttaa käyttäytymistä merkkijonon jäsentämiseen toiminnot lxml.html.
  • kieli jäsennys toiminnot lxml.html ovat vakaampia edessä harvinaista HTML sisältöä kuten kehyksiä tai puuttuvat kehon tageja.
  • I / O-virheet kun yrittää käyttää tiedostojen polkuja, jotka sisältävät muita kuin ASCII-merkkejä voi nostaa UnicodeDecodeError sijaan oikein raportoinnin IOError.
  • jäsennys in-muistista jouset vammaisten verkkoon pääsyn oletus jäsennin ja teki myöhemmin yrittää jäsentää URL-osoitteesta epäonnistua.

Mikä on uusi versiossa 3.1.2:

  • Passing määritteet kautta nimiavaruuden-tietämätön API sax silta (ts handler.startElement () menetelmä) epäonnistui Tyyppivirhe.
  • Kiinteät serialization virhe XSLT lähtö, kun muunnetaan tuloksen puu Unicode merkkijono.

Mikä on uusi versiossa 3.0.2:

  • Kiinteät kaatuu aikana tulkki sammutuksen vaihtamalla Cython 0.17 .3 rakentamiseen.

Mikä on uusi versiossa 3.0:

  • C14N avulla täsmennetään inclusive etuliitteiden ylennetty ylhäältä tason aikana yksinoikeudella serialization.
  • Alustava tuki rakennuksen pypy (kautta cpyext).
  • DTD esineitä sai API, joka mahdollistaa lukuoikeus ilmoituksensa.
  • xpathgrep.py saanut tukea jäsentämiseen linja-by-line (esim grep output) ja ympäröivä lähdön uudella juuren tag.
  • E-tehdas lxml.builder hyväksyy alatyyppejä tunnetaan tietotyyppejä (kuten string alatyypit) rakennettaessa elementtien ympärille.
  • Tree iteroinnin ja iterparse () ja selektiivinen tunnisteen argumentti tukee kulkee tunnisteet. Tree solmut tulosjoukolle iteraattorit jos ne vastaavat jotakin tunnisteita.

Mikä on uusi versiossa 2.3.5:

  • Crash yhdistettäessä tekstiä solmuja element.remove ( ).
  • Crash in sax / kohde parser ilmoitettaessa tyhjä DOCTYPE.

Mikä on uusi versiossa 2.3.4:

  • Crash rakennettaessa nsmap (Element omaisuus) kanssa tyhjä namespace URI.
  • Crash johtuen kilpailutilanne kun virheitä (tai käyttäjä viestejä) esiintyä kierteinen XSLT käsittelyn.
  • XSLT kokoaminen voisi ohittaa kokoelma virheitä.

Mikä on uusi versiossa 2.3.3:

  • Ominaisuudet lisätään:
  • lxml.html.tostring () sai uudet serialization vaihtoehtoja with_tail ja DOCTYPE.
  • Bugs kiinteä:
  • Kiinteä kaatuu käytettäessä iterparse () HTML jäsentämiseen ja pyysi alun tapahtumista.
  • Kiinteä jäsennys enemmän valitsimia cssselect. Välilyönnillä ennen pseudo-elementtejä ja pseudo-luokat on merkittävä, sillä se on jälkeläinen Combinator. & Quot; E: pseudo & quot; tulisi jäsentää sama kuin & quot; E *: pseudo & quot ;, ole & quot; E: pseudo & quot;.
  • lxml.html.diff enää aiheuta poikkeus osuessaan "img" tunnisteita ilman "src" määritettä.

Mikä on uusi versiossa 2.3.2:

  • Ominaisuudet lisätään:
  • lxml.objectify.deannotate () on uusi boolean vaihtoehto cleanup_namespaces poistaa Objectify nimiavaruus julistukset (ja yleensä puhdistaa nimiavaruuden ilmoitukset) poistamisen jälkeen tyypin merkintöjä.
  • lxml.objectify sai oman alielementti () toimivat kopio etree.SubElement välttää muuten tarpeeton tuonti lxml.etree käyttäjän puolella.
  • Bugs kiinteä:
  • Kiinteät & quot; jälkeläisen & quot; vian cssselect toisen kerran (kun ensimmäinen fix LXML 2.3.1). Edellisen muutos aiheutti vakavia suorituskyky regressio XPath perustuu arviointiin käännetty ilmaisua. Huomaa, että tämä rikkoo käyttö joidenkin syntyvän XPath ilmaisuja kuten XSLT sijainti polut aiemmin työskennellyt 2.3.1.
  • Kiinteät jäsentää joitakin valitsimia cssselect. Välilyönnillä jälkeen combinators & quot; & # x3e; & quot ;, & quot; + & quot; ja & quot; ~ & quot; on nyt oikein huomiotta. Aiemmin on ollut jäsentää jälkeläinen Combinator. Esimerkiksi & quot; div & # x3e; .foo & quot; oli jäsentää sama kuin & quot; div & # x3e; * .foo & quot; asemesta & quot; div & # x3e; .foo & quot;.

Mikä on uusi versiossa 2.3.1:

  • Ominaisuudet lisätään:
  • Uusi vaihtoehto kill_tags vuonna lxml.html.clean poistaa tiettyjä tunnisteet ja niiden sisältö (eli niiden koko alipuusta).
  • pi.get () ja pi.attrib käsittelystä ohjeita jäsentää pseudo-määritteet tekstisisältö käsittelyn ohjeet.
  • lxml.get_include () palauttaa listan sisältävät polkuja, jotka voidaan koota ulkoiseen C-koodia vastaan ​​lxml.etree. Tämä on nimenomaisesti edellytä staattisesti linkitetty LXML rakentaa, kun koodi on koota vastaan ​​täsmälleen sama otsikkotiedosto versioita LXML itse.
  • Resolver.resolve_file () ottaa lisävaihtoehto close_file joka määrittää, jos tiedosto (kaltainen) kohde suljetaan lukemisen jälkeen vai ei. Oletuksena tiedosto on suljettu, koska käyttäjä ei odoteta pitämään viittaus siihen.
  • Bugs kiinteä:
  • HTML siivous ei poista "data:" linkit.
  • html5lib jäsennin integraatio käyttää nyt "virallinen" täytäntöönpanon html5lib sinänsä, mikä tekee työtä uudempia julkaisuja kirjaston.
  • lxml.sax, endElementNS () voi väärin hylätä tavallinen tunnisteen nimi, kun vastaava alun tapahtuma johtaa sama tavallinen tunnisteen nimi olla oletusnimitilaa.
  • Kun open file kaltainen esine johdetaan parse () tai iterparse (), jäsennin ei enää sulje sen käytön jälkeen. Tämä palautuu muutos LXML 2.3 jossa kaikki tiedostot olisivat suljettuina. On käyttäjän vastuulla kunnolla lopettamisesta (kaltainen) objekti, myös virhetilanteissa.
  • Assertion virhe lxml.html.cleaner hävittäessäsi huipputason elementtejä.
  • lxml.cssselect, käytä XPath "// B" (lyhenne sanoista "/ descendant-tai-itse :: solmun () / B") sijasta "/ jälkeläinen :: B" for css jälkeläinen valitsin ('B'). Tämä tekee muutamia reuna tapauksissa oltava valitsin käyttäytyminen WebKit ja Firefox, ja tekee entistä css ilmauksia voimassa paikka polkuja (käytettäväksi xsl: template match).
  • lxml.html, valitsematta jääneitä & # X3C; optio-# x3e; tunnisteita ei enää näy kerätyn muodossa arvoja.
  • lisääminen / poistaminen & # X3C; optio-# x3e; arvot / peräisin useilta valitse lomakekenttään oikein valitsee ne ja Poistaa niitä.
  • Muut muutokset:
  • Staattinen rakentaa voi määrittää ladata hakemistoon --download-dir vaihtoehto.

Mikä on uusi versiossa 2.3:

  • Ominaisuudet lisätään:
  • Kun etsit lapsille, lxml.objectify vie '{} tag "tarkoittavan tyhjän nimiavaruuden, toisin kuin vanhemman nimiavaruuteen.
  • Bugs kiinteä:
  • Kun olet valmis lukee tiedoston kaltainen esine, jäsennin heti kutsuu sen .close () menetelmällä.
  • Kun olet valmis jäsentämiseen, iterparse () välittömästi sulkee input tiedosto.
  • Työ-ympäriinsä libxml2 vika, joka voi jättää HTML jäsennin ei-toiminnallista tilaa jälkeen jäsentämiseen severly rikki asiakirja (vahvistettu libxml2 2.7.8).
  • Marque tagi HTML uudelleenjärjestäminen koodi on oikein nimetty vierivän.
  • Muut muutokset:
  • Jotkin julkisen toiminnot Cython-tason C-API on tarkempi tuotto tyyppejä.

Mikä on uusi versiossa 2.3beta1:

  • Bugs kiinteä:
  • Crash uudemmissa libxml2 versioissa liikuttaessa elementtien väliset yhteydet, jotka oli attribuutteja tilalle XInclude solmuissa.
  • XMLID () funktio puuttui valinnainen jäsennin ja base_url parametrit.
  • etsiminen jokerina tageja iterparse () murtui Py3.
  • lxml.html.open_in_browser () ei toimi Python 3. vuoksi käyttöön os.tempnam. Nykyään siinä vapaaehtoinen "koodaus" parametri.

Vastaavia ohjelmistoja

promise
promise

28 Feb 15

Dict4Ini
Dict4Ini

5 Jun 15

3to2
3to2

12 May 15

Zopfli (Python)
Zopfli (Python)

12 May 15

Kommentit lxml

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!