Przegrody DOM/SAX są podstawowe. Dotyczy to nie tylko pythonów, ponieważ DOM i SAX są wielojęzyczne.
DOM: przeczytaj cały dokument w pamięci i nim manipuluj. biorąc pod uwagę:
- skomplikowanych relacjach całej znaczników w znacznikach
- małe skomplikowanych dokumentów XML
- ostrzeżeniami:
- Łatwe w użyciu nadmierne pamięci
SAX: analizować t on dokumentuje podczas czytania. Biorąc pod uwagę:
- długich dokumentów lub otwartych strumieni zakończonych
- miejsca, gdzie pamięć jest przeszkodą
- Ostrzeżenia:
- Musisz zakodować pełnostanowego parser, co może być trudne
beautifulsoup:
Doskonały do HTML lub niezupełnie dobrze napisanych znaczników. Łatwy w użyciu i szybki. Dobre na skrobanie ekranu itp. Może pracować ze znacznikami, w przypadku których te oparte na XML byłyby po prostu błędem mówiącym, że znacznik jest nieprawidłowy.
Większość reszty nie wykorzystałem, ale nie sądzę, że istnieją twarde i szybkie zasady dotyczące tego, kiedy należy z nich korzystać. Tylko standardowe rozważania: kto ma zachować kod, które interfejsy API są najłatwiejsze w obsłudze, jak dobrze działają, itp.
Ogólnie rzecz biorąc, w przypadku podstawowych potrzeb dobrze jest korzystać ze standardowych modułów bibliotecznych ponieważ są one "standardowe", a zatem dostępne i dobrze znane.Jeśli jednak chcesz głęboko zagłębić się w coś, prawie zawsze są nowsze niestandardowe moduły o doskonałej funkcjonalności poza standardową biblioteką.
Poszedłem z piękną zupę przy tej okazji, ponieważ inni byli pedantyczni o wkładzie; coś, nad czym nie miałem kontroli. –
Z punktu widzenia produktywności programistów i łatwości użycia miałem świetne doświadczenie z 'BeautifulSoup'. Anakonda Python okrętów z nim. – arun