0

我的计算机上有许多 html 页面,我想编写一个 javascript 脚本来获取这些页面的某些文本/元素(请参阅从 html 页面中提取元素)有人编写了一些 jquery 代码,可以提取我想要的元素,但是我不知道如何在 linux 控制台上的 html 页面上运行脚本并将提取的元素放入日志文件

所以基本上我想像这样运行:

javascript.js page1.html

javascript.js page2.html

javascript.js page3.html

此外,是否可以使用 javascript 写入某些文件?顺便说一句,我在linux上谢谢!

4

4 回答 4

3

有几种方法可以在命令行运行 Javascript。

如果您在 Windows 上,您可以WSH在 JS 中编写 -style shell 脚本。完毕!

如果你在 Mac/Linux 上,你只需要一个命令行 JS 解析器。我尝试了一些,我喜欢V8最好的,虽然编译它有点痛苦。

不过,关于使用 jQuery 的部分意义不大,因为 jQuery 主要旨在为网页的 DOM 提供快捷方式。

因此,如果您真正希望做的是针对多个 HTML 文件运行脚本并查询它们的 DOM,那么可能是时候查看 .Webdriver虽然Phantomjs可能是一个更容易开始的地方。

于 2012-12-20T21:48:36.560 回答
1

也许您正在寻找Node.js?这是一个允许您编写服务器端 javascript 的框架,并且有用于读取和写入磁盘的库。

但是,您应该知道 Node.js 不是浏览器,因此您无法访问 DOM(因为没有文档)。代替window,您会得到process,它包含诸如您在文件系统中的位置之类的属性。

如果您需要访问 DOM,您可能需要查看phantom.js

于 2012-12-20T21:49:27.320 回答
0

在 Windows 机器上,您可以通过 WScript.exe 运行 JS 文件,例如

WScript.exe javascript.js "page1.html"

于 2012-12-20T21:49:13.360 回答
0

如果您使用正确的框架,例如 nodejs 或 phantomjs,您可以使用 javascript 写入文件系统。我不太明白你问题的第一部分,但如果你想抓取一个网页,那么 phantomjs 是一个非常好的选择。

于 2012-12-20T21:44:57.237 回答