Как скачать страницу источника в пакетном режиме - PullRequest
0 голосов
/ 19 марта 2019

Мне было интересно, как я мог бы загрузить исходный код XML любой веб-страницы в пакетном режиме.

Скажем, я загружал view-source:https://www.google.com/, как мне получить текст и сохранить его в виде файла TXT на моем компьютере?

Чем меньше называете другие языки, тем лучше, мне нужно, чтобы он был хотя бы пакетным или PowerShell.

РЕДАКТИРОВАТЬ: Чтобы уточнить, я ничего не фильтрую здесь, я просто хочу сырьеXML.

1 Ответ

1 голос
/ 19 марта 2019

PowerShell 2.0 +

В PowerShell 2.0+ вы можете запустить следующий код для загрузки HTML / XML сайта в файл:

$webclient = new-object system.net.webclient;
$webclient.DownloadString('https://www.google.com/') | Set-Content -Path .\file.txt

Вы можете уменьшить это до одной строки как:

(new-object system.net.webclient).DownloadString('https://www.google.com/') | Set-Content -Path .\file.txt

, который можно запустить из командной строки как:

powershell.exe -executionpolicy --command "(new-object system.net.webclient).DownloadString('https://www.google.com/') | Set-Content -Path .\file.txt"

PowerShell 3.0 +

В PowerShell 3.0+ вы можете запустить следующий код для загрузки HTML / XML веб-сайта в файл (в соответствии с предложением Squashman):

$R = Invoke-WebRequest -URI https://www.google.com/
$R.Content | Set-Content -Path .\file.txt

Вы можете уменьшить это до одной строки как:

(Invoke-WebRequest -URI https://www.google.com/).Content | Set-Content -Path .\file.txt

, который можно запустить из командной строки как:

powershell.exe -executionpolicy --command "(Invoke-WebRequest -URI https://www.google.com/).Content | Set-Content -Path .\filer.txt"

В большинстве случаев вам также необходимо добавить код для обработки окончаний строк, которые часто равны \n. Многие текстовые редакторы Windows (например, Блокнот) не будут отображать их, поэтому имеет смысл заменить их на \r\n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...