PowerShell:
HTML পার্স করা

কিভাবে:

PowerShell স্বাভাবিকভাবে একটি নিবেদিত HTML পার্সার সম্বলিত নয়, তবে আপনি Invoke-WebRequest cmdlet ব্যবহার করে HTML কন্টেন্ট প্রবেশ করে এবং পার্স করতে পারেন। জটিল পার্সিং এবং ম্যানিপুলেশনের জন্য, HtmlAgilityPack, একটি জনপ্রিয় .NET লাইব্রেরি, ব্যবহৃত হতে পারে।

Invoke-WebRequest ব্যবহার করে:

# ওয়েবপেজ থেকে টাইটেল আনতে সিম্পল উদাহরণ
$response = Invoke-WebRequest -Uri 'http://example.com'
# DOM এলিমেন্টসে প্রবেশ করতে ParsedHtml প্রোপার্টি ব্যবহার করুন
$title = $response.ParsedHtml.title
Write-Output $title

নমুনা আউটপুট:

Example Domain

HtmlAgilityPack ব্যবহার করে:

প্রথমে, আপনাকে HtmlAgilityPack ইনস্টল করতে হবে। আপনি এটি NuGet প্যাকেজ ম্যানেজার মারফত করতে পারেন:

Install-Package HtmlAgilityPack -ProviderName NuGet

তারপর, আপনি এটি PowerShell-এ HTML পার্স করতে ব্যবহার করতে পারেন:

# HtmlAgilityPack অ্যাসেমব্লি লোড করুন
Add-Type -Path "path\to\HtmlAgilityPack.dll"

# একটি HtmlDocument অবজেক্ট তৈরি করুন
$doc = New-Object HtmlAgilityPack.HtmlDocument

# একটি ফাইল অথবা ওয়েব রিকোয়েস্ট থেকে HTML লোড করুন
$htmlContent = (Invoke-WebRequest -Uri "http://example.com").Content
$doc.LoadHtml($htmlContent)

# XPath অথবা অন্যান্য কোয়েরি পদ্ধতিগুলি ব্যবহার করে এলিমেন্টস এক্সট্র্যাক্ট করুন
$node = $doc.DocumentNode.SelectSingleNode("//h1")

if ($node -ne $null) {
    Write-Output $node.InnerText
}

নমুনা আউটপুট:

Welcome to Example.com!

এই উদাহরণগুলিতে, সিম্পল টাস্কগুলির জন্য Invoke-WebRequest সর্বোত্তম, অপরদিকে HtmlAgilityPack জটিল HTML পার্সিং ও ম্যানিপুলেশনের জন্য অনেক বৈচিত্র্যময় সেট সুবিধাজনক অফার করে।