Haskell:
HTML विश्लेषण

कैसे:

Haskell में HTML पार्स करने के लिए, हम इसकी साधारणता और लचीलेपन के लिए tagsoup लाइब्रेरी का उपयोग करेंगे। सबसे पहले, अपनी परियोजना की cabal फाइल में tagsoup जोड़कर या cabal install tagsoup चलाकर लाइब्रेरी को इंस्टॉल करना सुनिश्चित करें।

{-# LANGUAGE OverloadedStrings #-}

import Text.HTML.TagSoup

-- प्रदर्शन के लिए नमूना HTML
let sampleHtml = "<html><body><p>Learn Haskell!</p><a href='http://example.com'>Click Here</a></body></html>"

-- HTML पार्स करें और लिंक्स (a tags) के लिए फ़िल्टर करें
let tags = parseTags sampleHtml
let links = [fromAttrib "href" tag | tag <- tags, isTagOpenName "a" tag]

-- निकाले गए लिंक्स प्रिंट करें
print links

नमूना आउटपुट:

["http://example.com"]

अधिक जटिल HTML पार्सिंग आवश्यकताओं के लिए, विशेष रूप से यदि आप दस्तावेज़ परिवर्तन के साथ काम कर रहे हैं, तो pandoc लाइब्रेरी का उपयोग करने पर विचार करें। यह असाधारण रूप से बहुमुखी है लेकिन अधिक जटिलता के साथ आता है:

import Text.Pandoc

-- मान लें कि आपके पास एक Pandoc दस्तावेज़ (doc) लोड है, उदाहरण के लिए, एक फ़ाइल पढ़ने से
let doc = ... -- आपका Pandoc दस्तावेज़ यहाँ जाता है

-- दस्तावेज़ को HTML स्ट्रिंग में परिवर्तित करें
let htmlString = writeHtmlString def doc

-- अब, आप उपरोक्त के रूप में `htmlString` को पार्स करेंगे या अपनी आवश्यकताओं के अनुसार आगे बढ़ेंगे।

pandoc को ध्यान में रखें कि यह एक काफी बड़ी लाइब्रेरी है जो कई मार्कअप प्रारूपों के बीच परिवर्तन पर केंद्रित है, तो इसका उपयोग करें अगर आपको उन अतिरिक्त क्षमताओं की आवश्यकता है या यदि आप पहले से ही अपने एप्लिकेशन में दस्तावेज़ प्रारूपों से निपट रहे हैं।