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.