C#:
HTML পার্স করা
কিভাবে:
.NET ওয়েব পেজ ফেচ করার জন্য HttpClient
এর মতো HTML নিয়ে কাজ করার বেসিক সাপোর্ট প্রদান করে, তবে তা নিজস্ব কোনো সম্পূর্ণ HTML পার্সার নেই। তাই, অধিকাংশ C# ডেভেলপাররা রোবাস্ট HTML পার্সিং ক্ষমতার জন্য জনপ্রিয় তৃতীয় পক্ষের লাইব্রেরি যেমন HtmlAgilityPack বা AngleSharp ব্যবহার করেন। উভয় লাইব্রেরিই HTML DOM-এ সহজ কোয়েরি, ম্যানিপুলেশন, এবং ভ্রমণে সাহায্য করে।
HtmlAgilityPack ব্যবহার করে
HtmlAgilityPack ইন্সটল করুন: প্রথমে, নুগেটের মাধ্যমে আপনার প্রকল্পে HtmlAgilityPack প্যাকেজ যোগ করুন।
Install-Package HtmlAgilityPack
উদাহরণ কোড: একটি HTML স্ট্রিং পার্স করে, সমস্ত
<h1>
এলিমেন্টের শিরোনাম বের করুন।using HtmlAgilityPack; using System; using System.Linq; class Program { static void Main(string[] args) { var html = @"<html> <body> <h1>Title 1</h1> <h1>Title 2</h1> </body> </html>"; var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(html); var h1Tags = htmlDoc.DocumentNode.SelectNodes("//h1").Select(node => node.InnerText); foreach (var title in h1Tags) { Console.WriteLine(title); } } }
নমুনা আউটপুট:
Title 1 Title 2
AngleSharp ব্যবহার করে
AngleSharp ইন্সটল করুন: নুগেটের মাধ্যমে আপনার প্রকল্পে AngleSharp লাইব্রেরিটি যোগ করুন।
Install-Package AngleSharp
উদাহরণ কোড: একটি HTML ডকুমেন্ট লোড করে এবং বিশেষ ক্লাস সহ
div
এলিমেন্টস কোয়েরি করুন।using AngleSharp; using AngleSharp.Dom; using System; using System.Linq; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var context = BrowsingContext.New(Configuration.Default); var document = await context.OpenAsync(req => req.Content("<div class='item'>Item 1</div><div class='item'>Item 2</div>")); var items = document.QuerySelectorAll(".item").Select(element => element.TextContent); foreach (var item in items) { Console.WriteLine(item); } } }
নমুনা আউটপুট:
Item 1 Item 2
HtmlAgilityPack এবং AngleSharp উভয়ই HTML পার্সিংয়ের জন্য শক্তিশালী টুল, তবে আপনার পছন্দ হয়তো নির্দিষ্ট প্রজেক্টের প্রয়োজন, পারফরমেন্স বিবেচনা, অথবা API ডিজাইনে ব্যক্তিগত পছন্দের উপর নির্ভর করবে।