PowerShell Hack: Text aus HTML extrahieren

Neulich im TechNet-Forum wollte jemand wissen, wie man Text aus HTML extrahiert.

Ich musste das vor Kurzem auch für ein Projekt umsetzen, wobei es nicht darauf ankam, den tatsächlich sichtbaren Text in der tatsächlich angezeigten Reihenfolge darzustellen. Und das geht so:

Wenn die Seite von einem Webserver geladen wird,

 

$page = Invoke-WebRequest "http://my.webserv.er"
$doc = $page.parsedHTML

Wenn die Seite aus einer HTML-Datei geladen wird,

$doc = New-Object -com "HTMLFILE"
$page = Get-Content "my:\web\page\file.html"
$doc.IHTMLDocument2_write($page)

 

Danach ist die Vorgehensweise identisch:

foreach ($tag in $doc.all) {
    if (($tag.innerHTML -like $tag.InnerText) -and ($tag.InnerText)) {
        if ($tag.InnerText.Trim().Length -gt 0) {
            "$($tag.InnerText.Trim())" | Out-File "my:\text\file.txt" -Append
        }
    }
}

Ersten Kommentar schreiben

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.