我的电脑上有很多html页面 我想写一个javascript脚本来收集一些文本/元素的页面 (见extract elements from a html page) 有人写了一些jquery代码,可以提取我想要的元素,但我不知道如何在linux控制台上的html页面上运行脚本,并将提取的元素放入日志文件中
所以我基本上想跑:
javascript.js page1.html
javascript.js page2.html
javascript.js page3.html
此外,是否可以使用javascript写入某些文件? 顺便说一下,我在Linux上 谢谢!
答案 0 :(得分:3)
有一些方法可以在命令行运行Javascript。
如果您使用的是Windows,则可以在JS中编写WSH
- 样式的shell脚本。完成!
如果您使用的是Mac / Linux,那么您只需要一个命令行JS解析器。我已经尝试了一些,我最喜欢V8
,尽管编译它有点痛苦。
关于使用jQuery的部分没什么意义,因为jQuery主要用于提供网页DOM的快捷方式。
因此,如果您真正希望做的是针对多个HTML文件运行脚本并查询其DOM,那么可能需要查看Webdriver
,尽管Phantomjs
是可能是一个更容易开始的地方。
答案 1 :(得分:1)
也许您正在寻找Node.js?这是一个允许您编写服务器端javascript的框架,并且有用于读取和写入磁盘的库。
但是,您应该知道Node.js不是浏览器,因此您无法访问DOM(因为没有文档)。代替window
,您获得process
,其中包含您在文件系统中所处位置的属性。
如果您需要访问DOM,可能需要查看phantom.js。
答案 2 :(得分:0)
如果使用正确的框架,例如nodejs或phantomjs,则可以使用javascript写入文件系统。我不太明白你问题的第一部分,但如果你想要抓一个网页,那么phantomjs是一个非常好的选择。
答案 3 :(得分:0)
在Windows机器上,您可以通过WScript.exe运行JS文件,例如
WScript.exe javascript.js“page1.html”