首页 > 解决方案 > 如何批量下载页面源

问题描述

我想知道如何批量下载任何网页的 XML 源代码。

假设我正在下载view-source:https://www.google.com/,我将如何获取文本并将其保存为我的计算机上的 TXT 文件?

调用其他语言越少越好,我至少需要它是批处理或powershell。

编辑:澄清一下,我没有在这里过滤任何东西,我只想要原始 XML。

标签: xmlbatch-file

解决方案


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.


推荐阅读