我有一个脚本可以将html拉下来并将其放入文本或HTML文件中。然后我可以逐行解析文本文件,但我宁愿解析网站本身或解析文本流,因为我得到它。这可能是使用VBS(我的脚本语言有限)吗?
代码:
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 :(得分: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)中有它。然后我处理函数结果的每一行,寻找标记歌词开头和结尾的特定字符串。然后我将该结果保存到变量中,然后我替换并删除此变量中的字符。
答案 1 :(得分:0)
从未得到答案。我决定做的是:
1)创建一个临时文件,我存储文本信息。 2)解析临时文件。 3)删除临时文件。
不是最好的主意,但说实话,这不是最好的剧本。刚刚意识到SCCM报告中有一个“导出”按钮。我将在脚本中看到如何使用它。