从脚本转储 HTML

从脚本转储 HTML

有没有办法创建一个脚本,将 HTML 源代码下载到本地的 html 文本文件中?

例如,如果我想每天存档 Google.com 的 HTML。

我支持批处理、VBS 或 PS1,但最好是 BAT 或 VBS。

我可能会在多台计算机上使用它,因此最好只使用内置脚本解决方案。

答案1

使用 PowerShell:

# $url is the URL you want to download
$url = "http://www.google.com/"

# $path is the location where you want to save the file
$path = "C:\Users\Public\Downloads\google.html"

$client = New-Object System.Net.WebClient
$client.DownloadFile($url, $path)

使用 VBScript:

' 'url' is the url you want to download
url = "http://www.google.com/"

' 'path' is the location where you want to save the file
path = "C:\Users\Public\Downloads\google.html"

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", url, false
objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
  Set objADOStream = CreateObject("ADODB.Stream")
  objADOStream.Open
  objADOStream.Type = 1 'adTypeBinary
  objADOStream.Write objXMLHTTP.ResponseBody
  objADOStream.Position = 0    'Set the stream position to the start
  Set objFSO = Createobject("Scripting.FileSystemObject")
  If objFSO.Fileexists(path) Then objFSO.DeleteFile path
  Set objFSO = Nothing
  objADOStream.SaveToFile path
  objADOStream.Close
  Set objADOStream = Nothing
End if

Set objXMLHTTP = Nothing

答案2

如果你有Windows 版 wget在您的系统路径上,这是一个快速的单行命令:

wget http://www.example.com/foo/bar.html

这会将页面本地保存到当前目录中bar.html

答案3

这不是最干净的解决方案,但我已经成功使用了它:

  1. 下载QtWeb 便携版,选择独立QtWeb.exe

  2. 然后,从命令行只需运行QtWeb.exe -dump_and_quit "url" "file"

  3. QtWeb 创建了一个缓存和设置文件夹,因此您可能需要删除它们:

    rd /s /f QtWebCache
    rd /s /f QtWebSettings
    

相关内容