Szczegóły programowe:
Wersja: 3.4.4 Aktualizowane
Filmu: 12 May 15
Licencja: Wolny
Popularność: 245
lxml łączy szybkość tych bibliotek z prostoty języka Python.
Kompatybilny ze wszystkimi wersjami CPython z 2,4 do 3,2
Co to jest nowy w tym wydaniu:.
- lxml.html.iterlinks teraz zwraca linki wewnątrz znaczników meta odświeżania.
- Nowy XMLParser = False opcja collect_ids tworzenie tabeli wyłączyć identyfikator skrótu. To może znacznie przyspieszyć parsowania dokumentów z wielu różnych identyfikatorów, które nie są używane.
- parser używa tabel za-hash dla identyfikatorów dokumentu XML. Zmniejsza to obciążenie globalnego parsera dict i przyspiesza parsowania dokumentów z wielu różnych identyfikatorów.
- ElementTree.getelementpath (element) powraca do ekspresji ElementPath strukturalną dla danego elementu, który może być użyty do poszukiwania później.
- xmlfile () przyjmuje nowy argument blisko = True, aby zamknąć plik (-jak) przedmioty po napisaniu do nich. Przed, xmlfile () tylko zamknął teczkę gdyby otworzył ją wewnętrznie.
- Zezwalaj & quot; ByteArray & quot; Typ wprowadzania tekstu ASCII.
Co nowego w wersji 3.4.2:
- lxml.html.iterlinks zwraca teraz linki wewnątrz meta odświeżyć tagów.
- Nowy XMLParser = False opcja collect_ids tworzenie tabeli wyłączyć identyfikator skrótu. To może znacznie przyspieszyć parsowania dokumentów z wielu różnych identyfikatorów, które nie są używane.
- parser używa tabel za-hash dla identyfikatorów dokumentu XML. Zmniejsza to obciążenie globalnego parsera dict i przyspiesza parsowania dokumentów z wielu różnych identyfikatorów.
- ElementTree.getelementpath (element) powraca do ekspresji ElementPath strukturalną dla danego elementu, który może być użyty do poszukiwania później.
- xmlfile () przyjmuje nowy argument blisko = True, aby zamknąć plik (-jak) przedmioty po napisaniu do nich. Przed, xmlfile () tylko zamknął teczkę gdyby otworzył ją wewnętrznie.
- Zezwalaj & quot; ByteArray & quot; Typ wprowadzania tekstu ASCII.
Co nowego w wersji 3.3.2:
- Właściwości przeliczniki i wersji, jak również Metody set_element_class_lookup () i makeelement (), zostały utracone z iterparse obiektów.
- Przypadki XMLSchema, Schematron i RelaxNG nie wyczyścić swoje lokalne error_log przed uruchomieniem walidację.
- lxml.doctestcompare mieszane & quot; oczekuje & quot; i & quot; rzeczywista & quot; w wartościach atrybutów.
Co nowego w wersji 3.3.1:
- błędy:
- dokumenty HTML analizowany z parser.feed () nie udało się znaleźć elementy podczas tag iteracji.
- Budynek w pypy nie ze względu na brak wsparcia dla PyUnicode_Compare () i PyByteArray _ * () w pypy C-API jest.
- Kompilacja w MSVC nie ze względu na brak & quot; stdint.h & quot; standardowy plik nagłówka.
- iterparse () nie powiodło się analizować BOM poprzedzona plików.
Co nowego w wersji 3.3.0:
- błędy:
- heurystyka, która odróżnia się od ścieżki do plików adresów URL została dokręcona do produkcji mniej fałszywie ujemne.
Co nowego w wersji 3.2.3:
- Poprawiono wsparcie dla Pythona 2.4, które zostało utracone w 3.2 .2.
Co nowego w wersji 3.2.1:
- Metody apply_templates () i process_children () z elementy przedłużające XSLT zyskały dwie nowe opcje logiczne elements_only i remove_blank_text że wyrzucić albo wszystkie łańcuchy lub ciągi tylko do białych znaków z listy wyników.
Co nowego w wersji 3.2.0:
- Główny spacje może zmienić zachowanie analizowania smyczkowy funkcje w lxml.html.
- ciąg parsowania funkcje w lxml.html są bardziej wytrzymałe w obliczu niezwykłej treści HTML jak ramek lub brakujące znaczniki ciała.
- błąd wejścia / wyjścia podczas próby dostępu do plików ze ścieżkami, które zawierają znaki spoza ASCII mogą budzić UnicodeDecodeError zamiast prawidłowo zgłoszenie IOError.
- Przetwarzanie z ciągów w pamięci dostęp do sieci dla osób niepełnosprawnych w domyślnym parsera i wykonane kolejne próby analizować z adresu URL nie powiedzie.
Co nowego w wersji 3.1.2:
- Podania atrybutów poprzez namespace-nieświadomi API sax most (czyli handler.startElement () metody) nie powiodło się z TypeError.
- serializacji Naprawiono błąd w twórczości XSLT przy konwersji drzewa wynikowego na ciąg Unicode.
Co nowego w wersji 3.0.2:
- Naprawiono błąd podczas tłumacza wyłączenia przez przejście do Cython 0,17 0,3 dla budynku.
Co nowego w wersji 3.0:
- C14N umożliwia określenie prefiksów inclusive na awans do top- Poziom podczas ekskluzywnej serializacji.
- początkowe wsparcie dla budowy w pypy (poprzez cpyext).
- Przedmioty DTD zyskał interfejs API, który umożliwia dostęp do odczytu swoich deklaracjach.
- xpathgrep.py zyskał wsparcie dla przetwarzania linia po linii (np z wyjścia grep) i dla okolicznych wyjście z nowym znacznikiem głównym.
- E-fabryka w lxml.builder akceptuje podtypy znanych typów danych (takich jak podtypy smyczkowych) podczas budowy elementów wokół nich.
- iteracji Drzewo i iterparse () z argumentem obsługuje znacznika selektywnej przechodząc zestaw znaczników. Węzły drzewa zostaną zwrócone przez iteratory, jeśli pasuje do żadnego z tagami.
Co nowego w wersji 2.3.5:
- Błąd podczas łączenia węzłów tekstowych w element.remove ( ).
- Zawieszenie w sax / docelowej parsera przy zgłaszaniu pusty doctype.
Co nowego w wersji 2.3.4:
- Błąd podczas budowania nsmap (właściwość Element) z URI przestrzeni nazw pusta.
- Miasto gniewu z powodu wyścigu, gdy komunikaty błędów (lub użytkownik) występuje podczas przetwarzania gwintowanych XSLT.
- Arkusz stylów XSLT kompilacja może ignorować błędów kompilacji.
Co nowego w wersji 2.3.3:
- Funkcje dodał:
- lxml.html.tostring () zyskał nowe opcje serializacji with_tail i doctype.
- błędy:
- Naprawiono błąd podczas korzystania iterparse HTML () do analizowania i żądanie zdarzenia startowe.
- Naprawiono parsowanie więcej selektorów w cssselect. Białe znaki przed pseudo-elementów i pseudo-klas jest znaczący, ponieważ jest combinator potomkiem. & Quot; E: pseudo & quot; należy przeanalizować same jak & quot; E *: & quot ;, pseudo nie & quot; E:. pseudo & quot;
- lxml.html.diff nie budzi już wyjątek, gdy uderzenie "img tagów bez atrybutu" src ''.
Co nowego w wersji 2.3.2:
- Funkcje dodał:
- lxml.objectify.deannotate () ma nowy cleanup_namespaces opcji logiczna, aby usunąć obiektywizacji deklaracji przestrzeni nazw (i ogólnie posprzątać deklaracji przestrzeni nazw), po usunięciu adnotacje typu.
- lxml.objectify zyskał funkcję własną podelement () jako kopia etree.SubElement uniknięcia inaczej nadmiarowe import lxml.etree po stronie użytkownika.
- błędy:
- Poprawiono & quot; potomkiem & quot; błąd w cssselect raz drugi (po pierwszej poprawki w lxml 2.3.1). Poprzednia zmiana spowodowała poważne regresji do oceny wydajności w oparciu o XPath przetłumaczonego wyrazu. Zauważ, że to łamie korzystanie z niektórych wyrażeń XPath jak wygenerowanych ścieżek lokalizacji XSLT, który wcześniej pracował w 2.3.1.
- Naprawiono parsowanie niektórych selektorów w cssselect. Białe znaki po kombinatorów & quot; & # x3e; & quot ;, & quot; + & quot; i & quot; ~ & quot; jest teraz poprawnie ignorowane. Wcześniej był analizowany jest jako combinator potomka. Na przykład, & quot; div & # x3e; .foo & quot; był analizowany tak samo jak & quot; div & # x3e; * .foo & quot; zamiast & quot; div & # x3e; .foo & rdquo;.
Co nowego w wersji 2.3.1:
- Funkcje dodał:
- Nowa opcja kill_tags w lxml.html.clean usunięcia określonych znaczników i ich zawartość (tj ich całe poddrzewa).
- pi.get () i pi.attrib na przetwarzania instrukcji analizować pseudo-atrybuty z treści tekstu instrukcji przetwarzania.
- lxml.get_include () zwraca listę obejmują ścieżki, które mogą być wykorzystane do opracowania zewnętrznego kodu C przed lxml.etree. Jest to szczególnie konieczne dla statycznie związane lxml buduje, gdy kod musi się skompilować z dokładnie takich samych wersji plików nagłówek jak lxml sobie.
- Resolver.resolve_file () wykonuje dodatkowy close_file opcji, który konfiguruje jeśli plik (-jak) obiekt zostanie zamknięty po przeczytaniu, czy nie. Domyślnie, plik zostanie zamknięty, a użytkownik nie oczekuje, aby zachować odniesienie do niej.
- błędy:
- Nie HTML czyszczenia usunąć "danych:". Linki
- Integracja html5lib parser teraz korzysta z "oficjalnej" wdrożenie w samej html5lib, co sprawia, że praca z nowszymi wersjami biblioteki.
- W lxml.sax, endElementNS () może błędnie odrzucić zwykły nazwę znacznika, gdy odpowiednie zdarzenie początek wywnioskować ten sam zwykły nazwę znacznika, aby być w domyślnej przestrzeni nazw.
- Gdy otwarty obiekt pliku przechodzi do parse () lub iterparse (), parser nie będzie już blisko, że po użyciu. To przywraca zmianę lxml 2.3, gdzie wszystkie pliki zostaną zamknięte. Jest to odpowiedzialność użytkownikom prawidłowo zamknąć pliku (-Jak) obiektu, również w przypadkach błędów.
- Asertywność w lxml.html.cleaner błąd odrzucając elementy, kiedy na najwyższym poziomie.
- W lxml.cssselect użyć XPath "// B" (skrót od "A / potomek-or-self :: node () / B ') zamiast" A / B "potomek :: dla css selektor potomka ("B"). To sprawia, że kilka przypadków krawędzi być zgodne z zachowaniem biegów w WebKit i Firefox, i sprawia, że więcej wyrażeń CSS ścieżki lokalizacji (do stosowania w xsl: template match).
- W lxml.html, nie wybiera się & # x3c; opcja & # x3e; tagi pokazać już w zebranych wartości formularza.
- Dodawanie / usuwanie & # x3c; & # x3e opcji; wartości do / z wielu select pole formularza prawidłowo je wybiera i odznaczenie im.
- Inne zmiany:
- Static buduje może określić katalog pobierania z opcją --download-reż.
Co nowego w wersji 2.3:
- Funkcje dodał:
- Patrząc na dzieci, lxml.objectify trwa "znacznik {} 'w ten sposób pustą przestrzeń nazw, w przeciwieństwie do nazw dominującej.
- błędy:
- Po zakończeniu odczytu z obiektu pliku podobny, parser natychmiast wywołuje metodę jej .close ().
- Po zakończeniu analizowania, iterparse () natychmiast zamyka plik wejściowy.
- obejście libxml2 błąd, który może opuścić parser HTML w stanie niefunkcjonalnych po analizowania poparzonych złamaną dokument (ustalone w libxml2 2.7.8).
- Marque tag HTML kod oczyszczania został poprawnie nazwany namiot.
- Inne zmiany:
- Niektóre funkcje publiczne w Cython poziomu C-API mieć więcej wyraźne typy powrotne.
Co nowego w wersji 2.3beta1:
- błędy:
- Zawieszenie w nowszych wersji libxml2, gdy ruchome elementy między dokumentami, które miały atrybuty zastąpione węzłami XInclude.
- Funkcja XMLID () brakuje opcjonalne parametry parsera i base_url.
- Wyszukiwanie tagów wieloznacznych w iterparse () został uszkodzony w Py3.
- lxml.html.open_in_browser () nie działa w Pythonie 3 dzięki wykorzystaniu os.tempnam. Obecnie trwa opcjonalny parametr "kodowania".
Komentarze nie znaleziono