PowerShell:
פיענוח HTML

איך לעשות:

ב-PowerShell אין מנתח HTML מוקדש כחלק מהמערכת, אך ניתן להשתמש בפקודת ה-Invoke-WebRequest כדי לגשת ולפרש תוכן HTML. לצורך פירוש ותיקון מורכב יותר, ניתן להשתמש ב-HtmlAgilityPack, ספריית .NET פופולרית.

שימוש ב-Invoke-WebRequest:

# דוגמה פשוטה לאיסוף כותרות מדף אינטרנט
$response = Invoke-WebRequest -Uri 'http://example.com'
# השתמש במאפיין ParsedHtml לגישה לאלמנטים של DOM
$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
}

פלט דוגמה:

!ברוכים הבאים ל-Example.com

בדוגמאות אלו, Invoke-WebRequest מתאים ביותר למשימות פשוטות, בעוד ש-HtmlAgilityPack מציעה מערכת עשירה יותר של כלים לפירוש ותיקון מורכב של HTML.