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