Parsen Sie die HTML-Tabelle in PowerShell V3

html-agility-pack powershell

Frage

Ich habe die folgende HTML-Tabelle Link zum HTML

Ich möchte es analysieren und es in XML / CSV / PS Object konvertieren, habe ich mit HtmlAgilityPack.dll versucht, aber keinen Erfolg. Kann mir jemand Anweisungen geben, es zu tun?


Ich möchte die Tabelle in ein PSObject konvertieren und es in CSV exportieren, ich habe gerade den Anfang des Codes und den Zugriff auf die Zeilen, aber ich kann nicht auf die Werte in den Zeilen zugreifen

Add-Type -Path C:\Windows\system32\HtmlAgilityPack.dll
$HTML = New-Object HtmlAgilityPack.HtmlDocument
$res = $HTML.Load("C:\Test\Test.html")
$table = $HTML.DocumentNode.SelectNodes("//table/tr/td/nobr")

wenn ich auf $ table [0..47] zugreife .InnerHtml bekomme ich nur die erste ** spalte ** der datei, ich kann nicht auf die 2. usw. zugreifen

Danke Ohad

Akzeptierte Antwort

Sie können dies versuchen, um alle HTML-Tags in <nobr> . Ich lasse Sie die Logik finden, um auszugeben, was Sie wollen ...

$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://urltoyourfile.html")
$doc = $ie.Document
($doc.getElementsByTagName("nobr"))|%{$_.innerHTML}

Ausgabe :

Lead User&nbsp;&nbsp;
Accesses&nbsp;&nbsp;
Last Accessed&nbsp;&nbsp;
Average&nbsp;&nbsp;
Max&nbsp;&nbsp;
Min&nbsp;&nbsp;
Total&nbsp;&nbsp;
amirt</NO br>
2
01/20/2013 09:40:47
04:18:17
06:19:26
02:17:09
08:36:35
andream
1
01/20/2013 10:33:01
02:34:37
02:34:37
02:34:37
02:34:37
avnerm
1
01/17/2013 11:34:16
00:30:44
00:30:44
00:30:44
00:30:44
brouria

eine Möglichkeit, es zu analysieren:

($doc.getElementsByTagName("nobr"))|%{
    write-host -nonew $_.innerHTML";"
    $cpt++
    if ($cpt % 8 -eq 0){$cpt=1;write-host ""}
}



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum