AngleSharp C# (.NET): पूर्ण गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

AngleSharp C# (.NET): पूर्ण गाइड उदाहरणों के साथ

AngleSharp एक आधुनिक, उच्च-प्रदर्शन वाली लाइब्रेरी है जो .NET इकोसिस्टम में HTML, CSS, XML और SVG दस्तावेज़ों को पार्स और मैनिपुलेट करने के लिए उपयोग की जाती है। यह C# डेवलपर्स को DOM (Document Object Model) का एक पूर्ण कार्यान्वयन प्रदान करती है, जो W3C मानकों के बेहद करीब है। कई अन्य पार्सर्स के विपरीत, AngleSharp सिर्फ स्ट्रिंग से डेटा नहीं निकालता - यह एक पूर्ण DOM ट्री बनाता है जिसके साथ आप ब्राउज़र की तरह काम कर सकते हैं: सेलेक्टर्स द्वारा एलिमेंट ढूंढना, एट्रीब्यूट बदलना, नोड्स जोड़ना या हटाना, और परिणाम को वापस HTML में सीरियलाइज़ करना।

इस लाइब्रेरी की आवश्यकता क्यों है? आधुनिक वेब डेवलपमेंट और ऑटोमेशन में अक्सर प्रोग्रामेटिक रूप से HTML पेजों का विश्लेषण करने की आवश्यकता होती है। यह एनालिटिक्स के लिए डेटा पार्सिंग, वेब स्क्रैपिंग (साइटों से कंटेंट निकालना), वेब एप्लिकेशन टेस्टिंग, स्टैटिक साइट जनरेटर बनाना, या यहां तक कि अपना खुद का ब्राउज़र इंजन लिखना हो सकता है। AngleSharp इन कार्यों के लिए एकदम सही है क्योंकि यह पूरी तरह से C# में लिखा गया है, इसकी कोई बाहरी निर्भरता नहीं है (.NET Standard के अलावा), और यह HtmlAgilityPack को रेगुलर एक्सप्रेशन के साथ उपयोग करने से कई गुना तेज़ काम करता है। इसके अलावा, लाइब्रेरी CSS सेलेक्टर्स को सपोर्ट करती है, जो किसी भी वेब डेवलपर के लिए DOM ट्री में नेविगेशन को सहज बनाती है।

AngleSharp का एक और महत्वपूर्ण लाभ इसकी मॉड्यूलरिटी और एक्सटेंसिबिलिटी है। आप CSS, JavaScript इंजन (जैसे Jint), या SVG पार्सिंग के लिए अतिरिक्त पैकेज कनेक्ट कर सकते हैं। लाइब्रेरी को समुदाय द्वारा सक्रिय रूप से सपोर्ट किया जाता है, इसकी विस्तृत डॉक्यूमेंटेशन है, और कई कंपनियां इसे प्रोडक्शन एनवायरनमेंट में उपयोग करती हैं। इस गाइड में हम इंस्टॉलेशन, मुख्य तरीकों और क्लासेस के बारे में विस्तार से जानेंगे, और एक वास्तविक वेब पेज पार्सिंग का उदाहरण भी देखेंगे।

इंस्टॉलेशन

AngleSharp NuGet के माध्यम से वितरित की जाती है - .NET के लिए पैकेज मैनेजर। इसे दो तरीकों से इंस्टॉल किया जा सकता है:

.NET CLI के माध्यम से (अनुशंसित)

dotnet add package AngleSharp

Visual Studio में Package Manager Console के माध्यम से

Install-Package AngleSharp

CSS पार्सिंग के लिए अतिरिक्त पैकेज इंस्टॉल करें:

dotnet add package AngleSharp.Css

इंस्टॉलेशन के बाद अपने कोड में using डायरेक्टिव जोड़ें:

using AngleSharp;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;

त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

चलिए एक सरल प्रोग्राम लिखते हैं जो HTML स्ट्रिंग लोड करता है और उसमें से हेडिंग (<h1> टैग) निकालता है:

using AngleSharp;
using AngleSharp.Html.Parser;

// 1. पार्सर बनाएं
var parser = new HtmlParser();

// 2. HTML स्ट्रिंग को DOM दस्तावेज़ में पार्स करें
var html = @"<!DOCTYPE html>
<html>
<head><title>टेस्ट पेज</title></head>
<body>
    <h1>नमस्ते, AngleSharp!</h1>
    <p>यह एक पैराग्राफ है।</p>
</body>
</html>";

var document = parser.ParseDocument(html);

// 3. h1 एलिमेंट ढूंढें और उसका टेक्स्ट प्रिंट करें
var h1 = document.QuerySelector("h1");
Console.WriteLine(h1?.TextContent); // आउटपुट: नमस्ते, AngleSharp!

// 4. पूरा HTML वापस प्रिंट करें (सीरियलाइज़ेशन)
Console.WriteLine(document.DocumentElement.OuterHtml);

यह उदाहरण लाइब्रेरी के साथ काम करने के बुनियादी चक्र को दर्शाता है: पार्सिंग → एलिमेंट ढूंढना → डेटा निकालना। ध्यान दें कि QuerySelector मेथड CSS सेलेक्टर लेता है, जो बहुत सुविधाजनक है।

मुख्य तरीके, क्लासेस और इंटरफेस

AngleSharp एक समृद्ध API प्रदान करता है। नीचे 8 प्रमुख तत्व दिए गए हैं जिनकी आपको 90% मामलों में आवश्यकता होगी।

1. HtmlParser — पार्सिंग के लिए मुख्य क्लास

सिग्नेचर: public class HtmlParser : IHtmlParser

अनुशंसाएँ