这是一个有大量文字的体育网站,我将在以后整理文章以获取兴趣。
我遇到的唯一代码是:
<html>
<body>
<script language="JScript">
<!--
function open()
{
var result = string.Empty;
using (var webClient = new System.Net.WebClient())
result = webClient.DownloadString("http://some.url");
var myObject, afile;
myObject = new ActiveXObject("Scripting.FileSystemObject");
afile = myObject.OpenTextFile("F:\\sports.txt", 8, true, 0);
afile.write (result);
afile.close();
}
-->
</script>
Open a text stream for the file sport.txt
<form name="myForm">
<input type="Button" value="Open File" onClick='open()'>
</form>
</body>
</html>
任何帮助将不胜感激,如果需要,我也可以用其他语言写作。 请指导我!!
答案 0 :(得分:0)
如果您想编写自己的实用程序脚本来抓取页面内容并将其下载到文件中,并且您希望使用JavaScript编写它,则可以使用Node。
如果您只需要一个命令行工具,请使用wget。
这两个选项都可在许多平台上运行。
答案 1 :(得分:0)
您发布的代码什么都不做,因为它不是有效的JS代码。如此不明确的问题,答案可能不是你要求的。
我不确定您真正要保存的内容,整个页面源或浏览器呈现的可见文本。您也没有指定在哪个环境中运行您的脚本,是在Web浏览器中还是在WSH中?
我将发布两种情况的示例代码(页面源/文本)。我会尽力用JScript编写至少其中一个。但是,用VBScript编写它更容易,正如你所说的那样,这不是问题,我的第二个示例代码将在VBS中。
获取html源代码(.JS):
var url = 'http://some.url'; // set your page url here
with (new ActiveXObject("Microsoft.XmlHttp")) {
open('GET', url, false);
send('');
var data = responseText;
with (new ActiveXObject("ADODB.Stream")) {
Open();
Type = 2; // adTypeText
Charset = 'utf-8'; // specify correct encoding
WriteText(data);
SaveToFile("page.html", 2);
Close();
}
}
获取可见/渲染文本(.VBS):
Dim url: url = "http://some.url" 'set your page url here'
With WScript.CreateObject("InternetExplorer.Application", "IE_")
.Visible = False
.Navigate url
Do
WScript.Sleep 100
Loop While .ReadyState < 4 And .Busy
Dim data: data = .Document.Body.innerText
With CreateObject("ADODB.Stream")
.Open
.Type = 2 'adTypeText'
.Position = 0
.Charset = "utf-8"
.WriteText data
.SaveToFile "output.txt", 2
.Close
End With
.Quit
End With