PowerShell:
HTML:n jäsennys

Kuinka:

PowerShell ei natiivisti sisällä erityistä HTML-jäsentäjää, mutta voit käyttää Invoke-WebRequest cmdletia HTML-sisällön saavuttamiseksi ja jäsentämiseksi. Monimutkaisempaan jäsentämiseen ja manipulointiin voidaan käyttää HtmlAgilityPackia, suosittua .NET-kirjastoa.

Käyttäen Invoke-WebRequest-komentoa:

# Yksinkertainen esimerkki otsikoiden noutamiseksi verkkosivulta
$response = Invoke-WebRequest -Uri 'http://example.com'
# Käytä ParsedHtml-ominaisuutta DOM-elementtien käyttämiseksi
$title = $response.ParsedHtml.title
Write-Output $title

Esimerkkituloste:

Esimerkkialue

Käyttäen HtmlAgilityPackia:

Ensiksi, sinun täytyy asentaa HtmlAgilityPack. Voit tehdä tämän via NuGet Package Manager:

Install-Package HtmlAgilityPack -ProviderName NuGet

Sen jälkeen, voit käyttää sitä PowerShellissä HTML:n jäsentämiseen:

# Lataa HtmlAgilityPack-kirjasto
Add-Type -Path "polku\kohteeseen\HtmlAgilityPack.dll"

# Luo HtmlDocument-objekti
$doc = New-Object HtmlAgilityPack.HtmlDocument

# Lataa HTML tiedostosta tai web-pyynnöstä
$htmlContent = (Invoke-WebRequest -Uri "http://example.com").Content
$doc.LoadHtml($htmlContent)

# Käytä XPathia tai muita kyselymetodeja elementtien poimimiseksi
$node = $doc.DocumentNode.SelectSingleNode("//h1")

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

Esimerkkituloste:

Tervetuloa sivustolle Example.com!

Näissä esimerkeissä Invoke-WebRequest on paras yksinkertaisiin tehtäviin, kun taas HtmlAgilityPack tarjoaa paljon rikkaamman joukon ominaisuuksia monimutkaiseen HTML:n jäsentämiseen ja manipulointiin.