Как разобрать HTML в Powershell 5 с помощью -UseBasicParsing - PullRequest
1 голос
/ 05 августа 2020

Часто Invoke-WebRequest предпочтительнее использовать с параметром -UseBasicParsing, если не используется команда Invoke-RestMethod как для производительности, так и для экономии сети.

Но результаты из них не очень хороши. 'PARSEHTML method.

Как мы можем проанализировать html, используя указанные настройки команд?

  1. Invoke-Webrequest $site -UseBasicParsing
  2. Invoke-RestMethod $site

1 Ответ

2 голосов
/ 05 августа 2020

Сценарий может быть решен путем создания нового объекта HTML и записи в его IHTMLDocument2 раздел

ПРИМЕЧАНИЕ. ЭТО ДЕЙСТВИТЕЛЬНО ТОЛЬКО В WINDOWS POWERSHELL 5.0 и 5.1

Вы можете работать с перечисленным сценарием ios следующим образом:

  1. Для Invoke-Webrequest $ site -UseBasicParsing

    $html = new-object -ComObject "HTMLFile; $html.IHTMLDocument2_write($site.rawcontent)

  2. Для Invoke-RestMethod $ site

    $html = new-object -ComObject "HTMLFile; $html.IHTMLDocument2_write($site)

Теперь вы можете анализировать как обычно, например, получая элемент по id

$button = $html.getElementById('button')

...