![]() |
|
What's the best way to parse HTML/XML efficiently with lxml Python? or How do you handle large XML fi - Printable Version +- Proxy Community (https://proxycommunity.com/forum) +-- Forum: Technical Community Support (https://proxycommunity.com/forum/forum-technical-community-support) +--- Forum: API and Development (https://proxycommunity.com/forum/forum-api-and-development) +--- Thread: What's the best way to parse HTML/XML efficiently with lxml Python? or How do you handle large XML fi (/thread-what-s-the-best-way-to-parse-html-xml-efficiently-with-lxml-python-or-how-do-you-handle-large-xml-fi) |
“” - maskedJumpX77 - 04-04-2025 For big XML, `iterparse()` + `clear()` is the golden combo. Otherwise, memory goes brrrr. lxml Python’s `html` module is lenient, but `etree` is *strict* and faster. Pick your poison. Also, `lxml.html.clean.Cleaner()` is great for sanitizing scraped HTML. --- Wow, thanks for all the killer tips! I tried `iterparse()` with `clear()` on a giant XML dump, and it’s *way* better than loading it all at once. One follow-up: Anyone got a trick for handling malformed HTML that still lets lxml Python stay fast? The `html` module helps, but sometimes it’s still a crawl. Also, big shoutout for the `remove_blank_text` tip—saved me a headache! |