2012-12-20 124 views
0

我有我的電腦 許多HTML頁面和我想寫一個javascript腳本來收穫一些文本/內容的網頁 (見extract elements from a html page) 有人寫一些jQuery的代碼,其可以提取我想要的元素,但我不知道如何Linux控制檯上運行在HTML頁面中的腳本,並把所提取的元素融入到日誌文件是否可以獨立運行jquery/javascript腳本?

所以基本上我要像運行:

javascript.js page1.html 

javascript.js page2.html 

javascript.js page3.html 
除了

,是有可能使用javascript寫入一些文件? 順便說一句,我在Linux上 謝謝!

+1

您不能在本地機器上使用JavaScript創建文件,恐怕你的其餘問題對我來說毫無意義。 – Blazemonger

+3

當您說「爲某些文本/元素收集這些頁面」時,您可以更具體嗎? –

+2

結帳http://nodejs.org/ – Musa

回答

3

有一些方法可以在命令行上運行Javascript。

如果你在Windows上,你可以在JS中編寫WSH風格的shell腳本。完成!

如果你在Mac/Linux上,你只需要一個命令行JS解析器。我已經嘗試了一些,我最喜歡V8,雖然編譯它有點痛苦。但是,關於使用jQuery的部分並沒有什麼意義,因爲jQuery主要是爲了向網頁的DOM提供快捷方式。

所以,如果你真正希望做的是運行對多個HTML文件的腳本,並查詢他們的DOM,它可能是時候看看Webdriver,雖然Phantomjs可能是一個更容易的地方開始。

+0

有人寫了一些jQuery代碼,它可以提取我想要的元素,但我不知道如何在Linux控制檯上的html頁面上運行腳本,並將提取的元素放入日誌文件中 – wenzi

+0

在這種情況下,首先查看'phantomjs'。它應該做你想做的。 –

0

如果使用正確的框架(如nodejs或phantomjs),則可以使用javascript寫入文件系統。我不太瞭解你的問題的第一部分,但如果你想要抓取一個網頁,那麼phantomjs是一個很好的選擇。

0

在Windows機器上,您可以通過WScript.exe運行JS文件,例如,

WScript.exe的javascript.js 「page1.html」

1

也許你正在尋找Node.js?這是一個允許您編寫服務器端JavaScript的框架,並且有用於讀取和寫入磁盤的庫。

但是,您應該知道Node.js不是瀏覽器,所以您將無法訪問DOM(因爲沒有文檔)。代替window,您將獲得process,該文件包含您在文件系統中的位置等屬性。

如果您需要訪問DOM,您可能需要查看phantom.js

+0

我的要求在http://stackoverflow.com/questions/13978021/extract-elements-from-a-html-page,並且html頁面來自youtube評論 – wenzi

相關問題