2012-03-16 4 views
0

У меня есть скрипт, который вытащит html и поместит его в текстовый или HTML-файл. Затем я могу разобрать текстовый файл по строкам, но я бы предпочел либо проанализировать сам сайт, либо проанализировать текстовый поток, как я его понял. Возможно ли это с помощью VBS (мои языки сценариев ограничены)?Чтение html строки за строкой в ​​VBScript

Код:

dim URL 
url = "www.something.com" 
set wshshell = wscript.createobject("wscript.shell") 
set http = createObject("microsoft.xmlhttp") 
on error resume next 
http.open "GET", URL, FALSE 
http.send 
if err.number = 0 then 
    outputFile.writeline http.responsetext 
else 
    wscript.echo "error " & err.number & ": " & err.description 
end if 
set wshshell = nothing 
set http = nothing 

patchStatusFile.close

Он отлично работает, если я пишу на внешний HTML-файл. Мне было интересно, нужно ли мне писать в файл или я могу сначала разобрать поток? т.е.:

strToLookAt = http.responsetext 

do until strToLookAt.atEndOfStream 
    strLine = strToLookAt.readLine 
    if strLine = "the thing I'm looking for" 
     ...do stuff... 
    end if 
loop 
+0

Ваш вопрос довольно расплывчатый. Что именно вы собираетесь делать? Каков результат вашего скрипта и что бы вы хотели? –

+0

То, что я делаю, это отключение отчетов SCCM через vbscript. Имя по умолчанию для URL-адреса похоже на «\\ сервер \ отчет \ random_charactersMachineName =" "...", поэтому я заполняю имя машины из внешнего списка. Как только я открою этот сайт, я бы хотел разобрать его для определенных строк HTML-кода, но пока единственный способ сделать это - создать файл HTML, а затем проанализировать его. Я хотел бы проанализировать HTML, прежде чем писать его в файл. Это более ясно? – Jeff

+0

Это более понятно, но там, где вы испытываете проблему, нет. что ты уже испробовал? Что не работает? –

ответ

1

Почему никто не ответил на такой простой вопрос?

вот пример того, что я делаю.

dim up_http : up_http = "http://www.metrolyrics.com/Cornography-lyrics-Brad-Paisley.html" 
dim xmlhttp : set xmlhttp = createobject("MSXML2.XMLHTTP.6.0") 
xmlhttp.open "get", up_http, True 
xmlhttp.send 
LyricsURL = xmlhttp.responseText 
'At this point we have the html from the web page in memory variable LyricsURL 

Не нужно писать в файл. Вы можете просто обработать переменную строку памяти для строки.

В этом случае (сценарий не показан) у меня есть функция (get_html). Затем я обрабатываю каждую строку результата функции, ищущей определенные строки, которые отмечают начало и конец Текстов. Затем я сохраняю этот результат в переменной, а затем заменяю и удаляю символы в этой переменной.

0

Никогда не получил ответа. Я решил сделать это:

1) Создайте временный файл, где храню текстовую информацию. 2) Файл временного анализа. 3) Удалить файл Temp.

Не лучшая идея, но, честно говоря, это не лучший сценарий. Просто понял, что в отчете SCCM есть кнопка «экспорт». Я собираюсь узнать об использовании этого в скрипте.

+0

Для полного кода я разместил его здесь: http://jayscoding.com/2013/02/26/sccm-what-is-my-patch-status/ – Jeff

Смежные вопросы