html5lib HTML पार्स करने के लिए एक शुद्ध-पायथन लाइब्रेरी है। यह WHATWG HTML विनिर्देश के अनुरूप डिज़ाइन किया गया है, जैसा कि सभी प्रमुख वेब ब्राउज़र द्वारा कार्यान्वित किया गया है। यह HTML डॉक्यूमेंट के लगभग सभी तत्वों को पार्स कर सकता है, इसे विभिन्न टैग और टुकड़ों में तोड़ सकता है जिन्हें विभिन्न उपयोग के मामलों के लिए फ़िल्टर किया जा सकता है। यह टेक्स्ट को उसी तरह पार्स करता है जैसे प्रमुख ब्राउज़र करते हैं। यह टूटे हुए HTML टैग से भी निपट सकता है और संरचना को पूरा करने के लिए कुछ आवश्यक टैग जोड़ सकता है। साथ ही यह शुद्ध पायथन कोड में लिखा गया है।
lxml भी एक समान पार्सर है लेकिन XML सुविधाओं द्वारा संचालित है। इसकी बाहरी C लाइब्रेरी पर निर्भरता है। यह html5lib की तुलना में तेज़ है।
आइए इन दो पार्सर के व्यवहार में अंतर का अवलोकन करें एक नमूना टैग उदाहरण लेकर और आउटपुट देखें।
उदाहरण
from bs4 import BeautifulSoup
html5_structure = BeautifulSoup("आउटपुट
हम देख सकते हैं कि html5lib
टैग को शामिल करके अधिक पूर्ण HTML दस्तावेज़ बनाता है। lxml लाइब्रेरी XML जैसी संरचना पर अधिक केंद्रित है और
टैग को पूरी तरह से अनदेखा करती है।