PowerShell:
Analisi del HTML
Come fare:
PowerShell non ha nativamente un parser HTML dedicato, ma è possibile utilizzare il cmdlet Invoke-WebRequest
per accedere e analizzare il contenuto HTML. Per un parsing e una manipolazione più complessi, si può impiegare HtmlAgilityPack, una popolare libreria .NET.
Utilizzando Invoke-WebRequest
:
# Esempio semplice per recuperare i titoli da una pagina web
$response = Invoke-WebRequest -Uri 'http://example.com'
# Utilizzare la proprietà ParsedHtml per accedere agli elementi del DOM
$title = $response.ParsedHtml.title
Write-Output $title
Output di esempio:
Example Domain
Utilizzando HtmlAgilityPack:
Prima, è necessario installare l’HtmlAgilityPack. È possibile farlo tramite NuGet Package Manager:
Install-Package HtmlAgilityPack -ProviderName NuGet
Poi, è possibile utilizzarlo in PowerShell per analizzare l’HTML:
# Caricare l'assembly di HtmlAgilityPack
Add-Type -Path "path\to\HtmlAgilityPack.dll"
# Creare un oggetto HtmlDocument
$doc = New-Object HtmlAgilityPack.HtmlDocument
# Caricare HTML da un file o da una richiesta web
$htmlContent = (Invoke-WebRequest -Uri "http://example.com").Content
$doc.LoadHtml($htmlContent)
# Utilizzare XPath o altri metodi di query per estrarre elementi
$node = $doc.DocumentNode.SelectSingleNode("//h1")
if ($node -ne $null) {
Write-Output $node.InnerText
}
Output di esempio:
Benvenuti su Example.com!
In questi esempi, Invoke-WebRequest
è migliore per compiti semplici, mentre HtmlAgilityPack offre un insieme di funzionalità molto più ricco per parsing e manipolazione HTML complessi.