PowerShell:
Analisando HTML
Como fazer:
O PowerShell não possui nativamente um analisador HTML dedicado, mas você pode utilizar o cmdlet Invoke-WebRequest
para acessar e analisar conteúdos HTML. Para análises e manipulações mais complexas, o HtmlAgilityPack, uma biblioteca .NET popular, pode ser empregado.
Usando Invoke-WebRequest
:
# Exemplo simples para buscar títulos de uma página da web
$response = Invoke-WebRequest -Uri 'http://example.com'
# Utilize a propriedade ParsedHtml para acessar elementos DOM
$title = $response.ParsedHtml.title
Write-Output $title
Saída de Exemplo:
Exemplo de Domínio
Usando HtmlAgilityPack:
Primeiro, você precisa instalar o HtmlAgilityPack. Você pode fazer isso via Gerenciador de Pacotes NuGet:
Install-Package HtmlAgilityPack -ProviderName NuGet
Então, você pode usá-lo no PowerShell para analisar HTML:
# Carregar o assembly HtmlAgilityPack
Add-Type -Path "caminho\para\HtmlAgilityPack.dll"
# Criar um objeto HtmlDocument
$doc = New-Object HtmlAgilityPack.HtmlDocument
# Carregar HTML de um arquivo ou uma solicitação web
$htmlContent = (Invoke-WebRequest -Uri "http://example.com").Content
$doc.LoadHtml($htmlContent)
# Usar XPath ou outros métodos de consulta para extrair elementos
$node = $doc.DocumentNode.SelectSingleNode("//h1")
if ($node -ne $null) {
Write-Output $node.InnerText
}
Saída de Exemplo:
Bem-vindo ao Example.com!
Nestes exemplos, Invoke-WebRequest
é melhor para tarefas simples, enquanto o HtmlAgilityPack oferece um conjunto de recursos muito mais rico para análise e manipulação complexa de HTML.