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

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

उदाहरण डोमेन

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
}

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

वेलकम टू Example.com!

इन उदाहरणों में, Invoke-WebRequest सरल कार्यों के लिए बेहतर है, जबकि HtmlAgilityPack जटिल HTML पार्सिंग और मैनिपुलेशन के लिए कहीं अधिक समृद्ध सुविधाओं का प्रस्ताव करता है।