Анализ HTML-таблицы в PowerShell V3

html-agility-pack powershell

Вопрос

У меня есть следующая таблица HTML Ссылка на HTML

Я хочу проанализировать его и преобразовать в XML / CSV / PS Object, я пытался использовать HtmlAgilityPack.dll, но не имел успеха. Может ли кто-нибудь дать мне какие-либо указания?


Я хочу преобразовать таблицу в PSObject и экспортировать ее в csv, у меня в настоящее время есть только начало кода и доступ к строкам, но я не могу получить доступ к значениям в строках

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")

когда я получаю доступ к $ table [0..47] .InnerHtml я получаю только первый ** столбец ** файла, я не могу получить доступ к 2-му и т. д.

Благодарю Ohad

Принятый ответ

вы можете попробовать это, чтобы получить все html в тегах <nobr> . Я позволил вам найти логику для вывода того, что вы хотите ...

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

Вывод :

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

способ его разбора:

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


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow