PowerShell:
Analyse Syntaxique du HTML
Comment faire :
PowerShell n’a pas nativement un parseur HTML dédié, mais vous pouvez utiliser le cmdlet Invoke-WebRequest
pour accéder et analyser le contenu HTML. Pour un analyse plus complexe et manipulation, HtmlAgilityPack, une bibliothèque .NET populaire, peut être utilisée.
Utilisation de Invoke-WebRequest
:
# Exemple simple pour récupérer les titres d'une page web
$response = Invoke-WebRequest -Uri 'http://example.com'
# Utiliser la propriété ParsedHtml pour accéder aux éléments DOM
$title = $response.ParsedHtml.title
Write-Output $title
Exemple de sortie :
Domaine Exemple
Utilisation d’HtmlAgilityPack :
Tout d’abord, vous devez installer HtmlAgilityPack. Vous pouvez le faire via le Gestionnaire de Packages NuGet :
Install-Package HtmlAgilityPack -ProviderName NuGet
Ensuite, vous pouvez l’utiliser dans PowerShell pour analyser le HTML :
# Charger l'assemblage HtmlAgilityPack
Add-Type -Path "chemin\vers\HtmlAgilityPack.dll"
# Créer un objet HtmlDocument
$doc = New-Object HtmlAgilityPack.HtmlDocument
# Charger le HTML à partir d'un fichier ou d'une requête web
$htmlContent = (Invoke-WebRequest -Uri "http://example.com").Content
$doc.LoadHtml($htmlContent)
# Utiliser XPath ou d'autres méthodes de requête pour extraire des éléments
$node = $doc.DocumentNode.SelectSingleNode("//h1")
if ($node -ne $null) {
Write-Output $node.InnerText
}
Exemple de sortie :
Bienvenue sur Example.com !
Dans ces exemples, Invoke-WebRequest
est mieux adapté pour des tâches simples, tandis qu’HtmlAgilityPack offre un ensemble de fonctionnalités beaucoup plus riche pour une analyse et manipulation HTML complexe.