Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Парсинг html кода на powershell

Роман Окунев Ученик (244), на голосовании 8 месяцев назад
Привет. Пытаюсь парсить сайт. Из-за структуры сайта нужный контент находится между тэгами <tbody> и </tbody>. Нужен код который записал бы в переменную весь контент между <tbody> и </tbody>

P.S. у сервера нет API.
Голосование за лучший ответ
Дима Донской Профи (727) 9 месяцев назад
Привет! Вот пример кода на PowerShell, который поможет вам получить содержимое между тегами `<tbody>` и `</tbody>`:


# Загрузка HTML страницы
$url = "сайт" # замените на URL вашего сайта
$response = Invoke-WebRequest -Uri $url

# Поиск начала и конца нужного контента
$contentStart = $response.AllElements | Where-Object { $_.TagName -eq "tbody" } | Select-Object -First 1
$contentEnd = $response.AllElements | Where-Object { $_.TagName -eq "tbody" } | Select-Object -Last 1

# Парсинг и сохранение контента
$content = $contentStart.OuterHtml + ($contentStart | ForEach-Object { $_.NextSibling }).OuterHtml -join "`r`n"
$content += ($contentStart.ParentNode.ChildNodes | Where-Object { $_.IsAfter($contentEnd) }).OuterHtml -join "`r`n"

# Вывод результата
$content




Вам нужно заменить переменную `$url` на URL вашего сайта. Программа использует `Invoke-WebRequest` для загрузки HTML страницы, затем она находит первый и последний тег `<tbody>`, а затем сохраняет содержимое между этими тегами в переменную `$content`. Результат выводится в консоль.

Обратите внимание, что этот код предполагает, что в HTML коде на вашем сайте есть только одна пара тегов `<tbody>...</tbody>`. Если это не так, то вам может потребоваться немного изменить код для вашего конкретного случая.
Похожие вопросы