gpt4 book ai didi

javascript - 使用 vbscript 获取具有 javascript 的 Web 内容

转载 作者:行者123 更新时间:2023-11-28 01:04:58 25 4
gpt4 key购买 nike

在我的 vbscript 中使用以下代码

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://somesight.com/blah?234", False
o.send

Wscript.Echo o.responseText

我正在尝试从外部站点写出数据。但我想要的大多数数据都是通过 in 的 javascript 函数创建的,并且无法通过这种方式访问​​,因为当我运行此脚本时,它会显示:

您必须启用 JavaScript。

有没有办法在 vbscript 中模拟 Javascript,或者在启用 JavaScript 的情况下翻译 o.responseText?

提前非常感谢

最佳答案

试试这个代码:

Option Explicit
Const TriStateTrue = -1 ' Pour la prise en charge de l'Unicode
Dim URL,ie,Titre,objFSO,ws,strFileHTML,strFileTxt,strFileHTMLAscii
Dim objHTMLFile,objTxtFile,strFileTxtAscii,DataHTML,DataTxt
URL = InputBox("Entrez l'URL pour y extraire son Code Source HTML "&vbcr&vbcr&_
"Exemple ""http://www.google.fr""","Extraction du Code Source © Hackoo © 2014",_
"http://stackoverflow.com/questions/25193018/getting-web-content-that-has-javascript-using-vbscript")
If URL = "" Then WScript.Quit
Titre = "Extraction du Code Source de " & URL
Set ie = CreateObject("InternetExplorer.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strFileHTML = "CodeSourceHTML.txt"
strFileTxt = "CodeSourceTxt.txt"
strFileHTMLAscii = "SourceCodeHTML.txt"
strFileTxtAscii = "SourceCodeTxt.txt"
ie.Navigate(URL)
ie.Visible=false
DO WHILE ie.busy
wscript.sleep 100
LOOP
'***********************To Get Data in HTML mode****************************
DataHTML = ie.document.documentElement.innerHTML
DataTxt = ie.document.documentElement.innerText
Set objHTMLFile = objFSO.OpenTextFile(strFileHTML, 2, True, TriStateTrue)
objHTMLFile.WriteLine(Titre&vbcr&String(120,"*"))
objHTMLFile.WriteLine(DataHTML)
objHTMLFile.Close
'************************To Get Data in Texte mode**************************
Set objTxtFile = objFSO.OpenTextFile(strFileTxt, 2, True, TriStateTrue)
objTxtFile.WriteLine(Titre&vbcr&String(120,"*"))
objTxtFile.WriteLine(DataTxt)
objTxtFile.Close
ie.Quit
Set ie=Nothing
Call Convert(strFileTxt,strFileTxtAscii)
objfso.DeleteFile strFileTxt
Call Ouvrir(strFileTxtAscii)
Call Convert(strFileHTML,strFileHTMLAscii)
objfso.DeleteFile strFileHTML
Call Ouvrir(strFileHTMLAscii)
wscript.Quit
'*************************************************************************
Function Ouvrir(File)
Dim ws
Set ws=CreateObject("wscript.shell")
ws.run "Notepad.exe "& File,1,True
end Function
'*************************************************************************
Sub Convert(UnicodeFile,AsciiFile)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const ModeAscii = 0, ModeUnicode = -1
Dim fso, f_in, f_out
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f_in = fso.OpenTextFile(UnicodeFile, ForReading,, ModeUnicode)
Set f_out = fso.OpenTextFile(AsciiFile, ForWriting, true, ModeAscii)
Do Until f_in.AtEndOfStream
f_out.Write f_in.Read(1)
Loop
f_in.Close
f_out.Close
End Sub
'*************************************************************************

关于javascript - 使用 vbscript 获取具有 javascript 的 Web 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25193018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com