lxml

Screenshot Software:
lxml
Mga detalye ng Software:
Bersyon: 3.4.1
I-upload ang petsa: 17 Feb 15
Nag-develop: Martijn Faassen
Lisensya: Libre
Katanyagan: 72

Rating: nan/5 (Total Votes: 0)

lxml ay isang sopistikadong, makapangyarihan, libre at natatanging Python module na binds ang libxml2 at libxslt mga aklatan, na nagbibigay-daan sa mga developer na Python upang gumana sa parehong XML at HTML file tagaloob kanilang Python code.An XML sa pagpoproseso librarylxml ay isang XML (Extensible Markup Language ) sa pagpoproseso ng library nakasulat sa Python programming language, partikular na idinisenyo upang sundin ang mga detalye ng ElementTree API hangga't maaari.
Maaari itong patagalin ang ElementTree API upang ilantad ang mga tiyak na pag-andar ng libxslt at libxml2 mga aklatan, tulad ng Mamahinga Ng (Susunod na-Generation), xpath, XML Schema, c14n, XSLT (EXtensible stylesheet Language), etc.Use lxml na tumawag sa Python code mula sa XSLT stylesheetsDevelopers magagawang gamitin ang programa lxml na tumawag sa Python code mula sa XSLT stylesheet at xpath expression sa pamamagitan ng pag-andar ng extension. Ang isang malawak na hanay ng mga tutorial ay magagamit sa proyekto & rsquo; s homepage (tingnan ang link sa dulo ng artikulo).
Software ay open source sa pamamagitan ng disenyo at pinagsasama ang tampok na kumpleto at ang bilis ng mga nabanggit na aklatan na may kababaang-loob ng Python & rsquo; s API (Application Programming Interface) .Getting Magsimula sa lxmlIt ay medyo madaling i-install lxml sa pamamahagi ng GNU / Linux gamit ang pinagmulan archive na ipinamamahagi sa Softoware at ang rsquo proyekto at mga opisyal na website. I-download lamang ang pinagmulan ng package, i-save ito sa iyong direktoryo ng Home, na ma-unpack ito, buksan ang Terminal app at mag-navigate sa lokasyon ng kinopyang file archive (hal cd /home/softoware/lxml-3.4.1).
Patakbuhin ang & lsquo; gawing & rsquo; Command upang ipunin ang programa, na dapat tumagal ng tungkol sa 1-2 minuto sa isang modernong computer. Matapos ang isang matagumpay na compilation, patakbuhin ang & lsquo; gumawa install & rsquo; utos bilang root o ang & lsquo; Sudo gumawa install & rsquo; utos bilang isang magandang user na i-install lxml wide.Supports sistema ng GNU / Linux at Microsoft Windows operating systemsThe software na ito ay opisyal na suportado sa GNU / Linux at Microsoft Windows operating system. Ito ay matagumpay na nasubok sa 32-bit at 64-bit na mga computer

Ano ang bagong sa paglabas:.

  • Mga Tampok naidagdag:
  • Bagong generator htmlfile HTML upang samahan ang incremental xmlfile Serialization API. Patch ng Burak Arslan.
  • Mga Bug fixed:
  • lxml.sax.ElementTreeContentHandler ay hindi initialise superclass nito.

Ano ang bagong sa bersyon 3.3.1:

  • Bug fixed:
  • LP # 1014290: mga dokumento HTML parse may parser.feed () Nabigo upang makahanap ng mga elemento sa panahon ng tag-ulit
  • .
  • LP # 1273709: Building sa PyPy nabigo dahil sa nawawalang suporta para sa PyUnicode_Compare () at PyByteArray _ * () sa C-API PyPy ni
  • .
  • LP # 1274413: compilation sa MSVC nabigo dahil sa nawawalang & quot; stdint.h & quot; karaniwang header na file.
  • LP # 1274118: iterparse () nabigong i-parse BOM prefix file
  • .

Ano ang bagong sa bersyon 3.0 Alpha 2:

  • Mayroon naidagdag:
  • Ang .iter () method ng mga elemento ay tumatanggap na ngayon ng mga argumento tag tulad ng & quot; {*} pangalan & quot; upang maghanap ng mga elemento sa isang naibigay na lokal na pangalan sa anumang namespace. Sa karagdagan, ang lahat ng mga kumbinasyon ng mga wildcard na ngayon gumana tulad ng inaasahan: & quot; {NS} pangalan & quot ;, & quot; {} pangalan & quot ;, & quot; {*} pangalan & quot ;, & quot; {NS} * & quot ;, & quot; {} * & quot; at & quot; {*} * & quot ;. Tandaan na & quot; pangalan & quot; ay katumbas sa & quot; {} pangalan & quot ;, ngunit & quot; * & quot; ay & quot; {*} * & quot ;. Ang parehong pagbabago sa .getiterator (), .itersiblings (), .iterancestors (), .iterdescendants (), .iterchildren () at .itertext () pamamaraan; ang strip_attributes (), strip_elements () at strip_tags () function pati na rin ang iterparse () klase.
  • C14N nagpapahintulot ng pagtukoy ng inclusive prefix upang mai-promote sa pinakamataas na antas sa panahon ng eksklusibong Serialization.
  • Mga Bug fixed:
  • Nabigo ang Pasadong mahaba Unicode string sa feed () pang-parse interface upang mabasa ang buong string.

Ano ang bagong sa bersyon 2.3.5:

  • pag-crash kapag pinagsasama ang mga node teksto sa element.remove ( ).
  • pag-crash sa saksopon / target na pang-parse kapag nag-uulat na walang laman doctype.

Ano ang bagong sa bersyon 2.3.4:

  • pag-crash kapag pagbuo ng isang nsmap (ari-arian Element) na may Walang laman ang namespace URI.
  • pag-crash dahil sa mga kondisyon lahi kapag error (o mga mensahe ng user) nangyari sa panahon may sinulid pagpoproseso XSLT.
  • XSLT stylesheet compilation maaaring hindi pansinin ang mga error sa pagsasama-sama.

Ano ang bagong sa bersyon 2.3.2:

  • Mayroon naidagdag:
  • lxml.objectify.deannotate () ay may bagong cleanup_namespaces boolean pagpipilian upang alisin ang objectify namespace deklarasyon (at sa pangkalahatan ay linisin ang namespace deklarasyon) pagkatapos na alisin ang mga anotasyon uri.
  • lxml.objectify nakakuha nito function ng sariling SubElement () bilang isang kopya ng etree.SubElement upang maiwasan ang isang kung hindi man kalabisan pag-import ng lxml.etree sa gilid ng gumagamit.
  • Mga Bug fixed:
  • Mga Fixed ang & quot; inapo & quot; bug sa cssselect sa pangalawang pagkakataon (pagkatapos ng unang pag-aayos sa lxml 2.3.1). Ang nakaraang pagbabago nagresulta sa isang malubhang pagbabalik sa pagganap para sa xpath batay sa pagsusuri ng naisalin na expression. Tandaan na ito Pinaghihiwa ang paggamit ng ilan sa mga nabuong xpath expression bilang mga landas na lokasyon XSLT na dati nagtrabaho sa 2.3.1.
  • Ang Nakatakdang pag-parse ng ilang mga tagapili sa cssselect. Whitespace pagkatapos combinators & quot; & Gt; & quot ;, & quot; + & quot; at & quot; ~ & quot; tama ang binabalewala ngayon. Noong nakaraan ay na-parse bilang isang supling combinator. Halimbawa, & quot; div & gt; .foo & quot; Na-parse ang parehong bilang & quot; div & gt; * .foo & quot; sa halip na & quot; div & gt; .foo & quot;.

Ano ang bagong sa bersyon 2.3.1:

  • Mayroon naidagdag:
  • kill_tags Bagong opsyon sa lxml.html.clean upang maalis ang mga partikular na tag at ang kanilang nilalaman (ibig sabihin ang kanilang buong subtree).
  • pi.get () at pi.attrib sa pagpoproseso ng mga tagubilin upang i-parse ang palsipikado-katangian mula sa teksto ng nilalaman ng mga tagubilin sa pagpoproseso.
  • lxml.get_include () ay nagbabalik ng isang listahan ng magsama ng path na maaaring magamit upang makatipon ng mga panlabas na C code laban sa lxml.etree. Ito ay partikular na kinakailangan para sa statically naka-link lxml build kapag kailangan code upang ipunin ang laban sa eksaktong parehong bersyon ng header file bilang lxml sarili nito.
  • Resolver.resolve_file () ay isang karagdagang pagpipilian close_file na Kino-configure kung ang file (-like) object ay isasara matapos basahin o hindi. Sa pamamagitan ng default, ang file ay isasara, pati na ang user ay hindi inaasahan upang mapanatili ang isang reference dito.
  • Mga Bug fixed:
  • cleaning HTML ay hindi tanggalin ang 'data:'. Link
  • Ginagamit na ngayon ang pagsasama html5lib pang-parse ang 'opisyal' pagpapatupad sa html5lib sarili nito, na ginagawang mas gumana sa mas bagong release ng library.
  • Sa lxml.sax, endElementNS () ay hindi tama tanggihan ang isang plain name tag kapag natukoy na ang katumbas na simula ng kaganapan sa parehong plain name tag na nasa default na namespace.
  • Kapag ang isang mabuksan ang file na tulad ng bagay ay lumipas ang sa pag-parse () o iterparse (), ang pang-parse na hindi na malapit ito pagkatapos na paggamit. Ito reverts isang pagbabago sa lxml 2.3 kung saan ang lahat ng mga file ay sarado. Ito ay ang responsibilidad ng mga user upang maayos na isara ang file (-like) bagay, din sa mga kaso error.
  • error badya sa lxml.html.cleaner kapag discarding mga elemento sa nangungunang antas.
  • Sa lxml.cssselect, gamitin ang xpath 'A // B' (maikli para sa 'A / supling-o-sarili :: node () / B') sa halip ng 'A / inapo :: B' para sa css pinag-apuhan tagapili ('A B'). Ito ay gumagawa ng ilang mga kaso gilid upang maging pare-pareho sa pag-uugali ng selector sa WebKit at Firefox, at gumagawa ng higit pang mga expression css wastong path lokasyon (para sa paggamit sa xsl: tugma template).
  • Sa lxml.html, hindi napiling mga tag hindi na lalabas sa mga nakolektang mga halaga form na ito.
  • Pagdaragdag / pag-alis ng mga halaga papunta / mula sa maayos pumipili ng maramihang piliin ang field ng form sa kanila at unselects ang mga ito.
  • Iba pang mga pagbabago:
  • Static build maaaring tukuyin ang direktoryo sa pag-download na may pagpipilian --download-dir.

Ano ang bagong sa bersyon 2.3:

  • Mayroon naidagdag:
  • Kapag naghahanap para sa mga bata, tumatagal lxml.objectify '{} tag na' bilang ibig sabihin ng walang laman na namespace, bilang kabaligtaran sa magulang namespace.
  • Mga Bug fixed:
  • Kapag tapos na pagbabasa mula sa isang file na tulad ng bagay, agad na tawag .close () method nito ang pang-parse.
  • Kapag tapos na sa pag-parse, iterparse () nagsasara agad ang input file.
  • Trabaho-around para sa libxml2 bug na maaaring umalis sa HTML pang-parse sa isang hindi tumatakbong estado pagkatapos ng pag-parse ng severly putol na dokumento (fixed sa libxml2 2.7.8).
  • marque na tag sa HTML code paglilinis ay pinangalanan nang tama marquee.
  • Iba pang mga pagbabago:
  • Ang ilang mga pampublikong mga function sa Cython antas ng C-API magkaroon ng higit tahasang uri ng return.

Ano ang bagong sa bersyon 2.2.8 / 2.3 Beta 1:

  • pag-crash sa mas bagong mga bersyon libxml2 kapag paglipat ng mga elemento sa pagitan ng mga dokumento na nagkaroon ng mga katangian sa pinalitan XInclude node.
  • pag-andar XMLID () ay nawawala ang opsyonal na pang-parse at BASE_URL parameter.
  • Paghahanap ng mga wildcard na tag sa iterparse () ay pinaghiwa sa Py3.
  • lxml.html.open_in_browser () ay hindi gumagana sa Python 3 dahil sa ang paggamit ng mga os.tempnam. Ngayon tumatagal ito ng isang opsyonal na 'pag-encode' na parameter.

Mga Kinakailangan :

  • Python

Katulad na software

uni2ascii
uni2ascii

11 May 15

ws_docutils
ws_docutils

14 Apr 15

mark3
mark3

11 May 15

Iba pang mga software developer ng Martijn Faassen

hurry.resource
hurry.resource

11 May 15

z3c.relationfield
z3c.relationfield

14 Apr 15

Mga komento sa lxml

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!