Web scraping 如何使用VBScript将网站数据保存到文件?
在下面的代码中,如何将文本保存到文本文件(例如text.txt)而不是当前的Web scraping 如何使用VBScript将网站数据保存到文件?,web-scraping,vbscript,Web Scraping,Vbscript,在下面的代码中,如何将文本保存到文本文件(例如text.txt)而不是当前的MsgBox myURL = "http://URL.com" Set oXMLHttp = CreateObject("MSXML2.XMLHTTP") Set ohtmlFile = CreateObject("htmlfile") oXMLHttp.Open "GET", myURL, False oXMLHttp.send If oXMLHttp.Status = 200 Then ohtmlFile.W
MsgBox
myURL = "http://URL.com"
Set oXMLHttp = CreateObject("MSXML2.XMLHTTP")
Set ohtmlFile = CreateObject("htmlfile")
oXMLHttp.Open "GET", myURL, False
oXMLHttp.send
If oXMLHttp.Status = 200 Then
ohtmlFile.Write oXMLHttp.responseText
ohtmlFile.Close
Set oTable = ohtmlFile.getElementsByTagName("table")
For Each oTab In oTable
MsgBox oTab.Innertext
Next
End If
WScript.Quit
请帮帮我
谢谢 您可以使用FileSystemObject的 您可以使用其他对象在代码顶部创建FileSystemObject:
Set objFSO = CreateObject("Scripting.FileSystemObject")
并添加以下常量:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
如果要将所有内容附加到同一文件中,可以在循环外部创建并打开该文件:
sFileName = "c:\text.txt"
Set objFile = objFSO.OpenTextFile(sFileName, ForAppending, True)
For Each oTab In oTable
objFile.WriteLine oTab.Innertext
Next
objFile.Close
Dim iTableCounter
iTableCounter = 0
For Each oTab In oTable
iTableCounter = iTableCounter + 1
sFileName = "c:\table_" & iTableCounter & ".txt" ' create a dynamic file name using table name perhaps
Set objFile = objFSO.OpenTextFile(sFileName, ForWriting, True)
objFile.Write oTab.Innertext
objFile.Close
Next
否则,您可以在循环中创建多个文件:
sFileName = "c:\text.txt"
Set objFile = objFSO.OpenTextFile(sFileName, ForAppending, True)
For Each oTab In oTable
objFile.WriteLine oTab.Innertext
Next
objFile.Close
Dim iTableCounter
iTableCounter = 0
For Each oTab In oTable
iTableCounter = iTableCounter + 1
sFileName = "c:\table_" & iTableCounter & ".txt" ' create a dynamic file name using table name perhaps
Set objFile = objFSO.OpenTextFile(sFileName, ForWriting, True)
objFile.Write oTab.Innertext
objFile.Close
Next
成功了!有没有办法保存在同一文件的不同行上?如果可能的话,你能把修改后的代码发给我吗?非常感谢你!是的,只需要使用
WriteLine
而不是Write
。我已经更新了答案。如果有机会,请在答案左侧使用灰色复选标记将问题标记为已回答!这真的解决了我的问题。我已经把问题标记为已回答。我非常感谢你的帮助!