1

Есть ли способ создать скрипт для локальной загрузки исходного кода HTML в текстовый файл html?

Например, если бы я хотел архивировать HTML-код Google.com каждый день.

Я готов к партии, VBS или PS1, но желательно BAT или VBS.

Возможно, я использую это на многих компьютерах, поэтому мне бы хотелось использовать только встроенное решение для сценариев.

3 ответа3

2

Если у вас есть wget для Windows на вашем системном пути, это быстрый однострочный:

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

Это сохраняет страницу локально в текущем каталоге как bar.html .

2

С 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
0

Это не самое чистое решение, но я успешно его использовал:

  1. Скачайте QtWeb Portable, выберите автономный QtWeb.exe

  2. Затем из командной строки вы можете просто запустить QtWeb.exe -dump_and_quit "url" "file"

  3. QtWeb создает кэш и папку настроек, поэтому вы можете удалить их:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .