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 পার্সিং ও ম্যানিপুলেশনের জন্য অনেক বৈচিত্র্যময় সেট সুবিধাজনক অফার করে।