希望使用javascript将网页保存为文本文件

looking to use javascript to save a webpage as a text file

本文关键字:保存 文本 文件 网页 javascript 希望      更新时间:2023-09-26

这是一个有很多文本的体育网站,我稍后会根据兴趣对文本进行排序。

我遇到的唯一代码是:

<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>

任何帮助都将不胜感激,如果需要,我也可以用其他语言写作。请指引我!!

如果您想编写自己的实用程序脚本来获取页面内容并将其下载到文件中,并且您想用JavaScript编写,可以使用Node。

http://nodejs.org/

如果您只需要一个命令行工具来实现这一点,请使用wget。

这两个选项都在许多平台上运行。

您发布的代码没有任何作用,因为它不是有效的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