binwatch@vk |
08-01-2013 23:35 2062133 |
Ввод данных в код
Есть код vbs :
Код:
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
'подключение
oXMLHTTP.Open "GET", "http://sait.ru/index.html", 0
'получение файла
oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open oADOStream.Write oXMLHTTP.responseBody
'сохранение (с перезаписью файла при необходимости)
oADOStream.SaveToFile "C:\Users\Admin\Desktop\1.html", 2
'сохранение файла в прописанной папке
Он скачивает страницу сайта и сохраняет в прописанном месте.
Можно ли создать такой скрипт, чтобы адрес сайта в данном коде можно было прописывать из диалогового окна bat ? или vbs?
Заранее благодарен)
|
Цитата:
Цитата binwatch@vk
Можно ли создать такой скрипт, чтобы адрес сайта в данном коде можно было прописывать из диалогового окна bat ? или vbs? »
|
Можно.
читать дальше »
Код:
strURL = Trim(InputBox("Input URL:"))
If Len(strURL) <> 0 Then
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
'подключение
oXMLHTTP.Open "GET", strURL, 0
'получение файла
oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open oADOStream.Write oXMLHTTP.responseBody
'сохранение (с перезаписью файла при необходимости)
oADOStream.SaveToFile "C:\Users\Admin\Desktop\1.html", 2
'сохранение файла в прописанной папке
End If
А можно и указывать параметром скрипта. Откуда будут браться адреса страниц — буквально?
|
binwatch@vk |
09-01-2013 07:35 2062230 |
Адрес страницы будет можно или вручную вводить через окно ввода или в отдельный файл прописывать,без разницы. Напишите тот вариант который проще)
|
binwatch@vk, Вы меня не поняли. Я не спрашивал куда вводить адрес. Я спрашивал — откуда он берётся? Вот Вы откуда берёте эти адреса страниц? Опишите буквально.
Цитата:
Цитата binwatch@vk
или вручную вводить через окно ввода »
|
Этот вариант я уже добавил к Вашему коду.
|
binwatch@vk |
09-01-2013 11:37 2062357 |
Из текстового файла. Можете написать ,чтобы исходный код брал адрес сайта из текстового файла при своем выполнении .
Извиняюсь за создавшуюся путаницу)
Заранее благодарен.
|
Могу. Сколько там будет URL?
|
binwatch@vk |
09-01-2013 13:32 2062427 |
10 URL
|
binwatch@vk |
09-01-2013 22:19 2062860 |
Для одного url можете написать?
|
Пробуйте:
читать дальше »
Код:
Option Explicit
Dim strURLFile
If WScript.Arguments.Count = 1 Then
strURLFile = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strURLFile) Then
With .OpenTextFile(strURLFile)
Do Until .AtEndOfStream
GetContentFromURLAndSaveToFile Trim(.ReadLine())
Loop
.Close
End With
Else
WScript.Echo "File [" & strURLFile & "] not found"
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: wscript.exe " & WScript.ScriptName & " <URL's file>"
WScript.Quit 1
End If
WScript.Quit 0
'=============================================================================
'=============================================================================
Sub GetContentFromURLAndSaveToFile(strURL)
Const adTypeBinary = 1
Const adModeReadWrite = 3
Const adSaveCreateOverWrite = 2
Dim arrContent
Dim strFileName
Dim strChar
With WScript.CreateObject("Microsoft.XMLHTTP")
.open "GET", strURL, False
.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
.send
arrContent = .responseBody
End With
strFileName = strURL
For Each strChar In Array("<", ">", ":", """", "/", "\", "|", "?", "*")
strFileName = Replace(strFileName, strChar, "_")
Next
With WScript.CreateObject("ADODB.Stream")
.Type = adTypeBinary
.Mode = adModeReadWrite
.Open
.Write arrContent
.SaveToFile strFileName, adSaveCreateOverWrite
.Close
End With
End Sub
'=============================================================================
В самом простом варианте — достаточно просто перетащить файл с URL'ами, например, такой:
Код:
http://www.script-coding.com/
http://www.oszone.net/
http://www.ya.ru/
https://www.google.ru/webhp
на приведённый скрипт в Проводнике.
P.S. На мой взгляд, использование wget или cURL представляется более целесообразным.
|
binwatch@vk |
13-01-2013 10:48 2065641 |
Спасибо!
|
Время: 01:02.
© OSzone.net 2001-