有没有办法创建一个脚本,将 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
这不是最干净的解决方案,但我已经成功使用了它:
下载QtWeb 便携版,选择独立
QtWeb.exe
然后,从命令行只需运行
QtWeb.exe -dump_and_quit "url" "file"
QtWeb 创建了一个缓存和设置文件夹,因此您可能需要删除它们:
rd /s /f QtWebCache rd /s /f QtWebSettings