Загрузка веб-страницы

PowerShell:
Загрузка веб-страницы

Как это сделать:

Вот магическое заклинание для извлечения веб-страницы с использованием PowerShell. Мы воспользуемся Invoke-WebRequest.

# Забираем содержимое example.com
$response = Invoke-WebRequest -Uri "http://example.com"

# Вот что вы получили
$response.Content

Пример вывода:

<!doctype html>
<html>
<head>
    <title>Пример Домена</title>
    ...
    <!-- и так далее -->
</head>
...
</html>

Возможно, вас интересует только текст, без HTML тегов. Давайте сделаем это:

# Только текст, пожалуйста
$response.ParsedHtml.body.innerText

Глубокое Погружение

Когда-то PowerShell не имел крутой командлет Invoke-WebRequest. Программисты использовали класс .NET System.Net.WebClient или прибегали к внешним инструментам. Теперь это все встроено, что упрощает нам задачи.

Invoke-WebRequest предлагает больше, чем просто содержимое. Заголовки, статус и информация о сессии - это все там. Если вы работаете с API, вам понравится Invoke-RestMethod как специализированная альтернатива.

Внутри, эти командлеты полагаются на мощный класс .NET HttpClient, обеспечивающий надежность и обширный функционал.

И, если вы нетерпеливы в ожидании скачивания веб-страницы, Invoke-WebRequest также поддерживает асинхронные операции. Однако, это тема для другого разговора.

Смотрите Также