2010-01-21 26 views
2

我需要爲第三方網站(這是一個外部網站,有關於我們的訪問者的統計數據)建立一個小的「監控​​」刮板。任何方式來運行沒有GUI/X會話GreaseMonkey腳本的Firefox

不幸的是,這個網站很難抓住普通的「wget」機制,因爲它使用了很多複雜的JS,其中一部分由GWT生成。所以我的解決方法是創建一個GreaseMonkey腳本,然後讓這個腳本調用一個記錄抓取的數據的PHP頁面。然後,只要Firefox啓動這個網頁即可抓取,該腳本就會起作用。

這很好,但現在我正在努力使監控工具更加強大。我希望它使用cron作業在服務器上運行。據我所知,這需要設置一個DISPLAY變量並且存在一個X會話(Firefox拒絕爲我運行)。有沒有什麼好方法可以讓它作爲cron作業從批處理用戶帳戶運行?

回答

3

我做了類似的事情讓Selenium在服務器上無頭運行。我用Xvfb。

http://en.wikipedia.org/wiki/Xvfb

這篇文章有使用XVFB與Firefox的一些提示:

http://semicomplete.com/blog/geekery/xvfb-firefox.html

+0

完美!正是我在找什麼。小錯字:時間 - >提示? – Artem 2010-01-21 14:06:07

+0

稍後再看看其他解決方案。 – Artem 2010-01-21 14:17:49

+0

Xvfb看起來很酷。您也可以使用vncserver創建GUI應用程序,而不需要輸出讀取真實的顯示。所以,如果你不想看到「正在發生什麼」,你可以使用vncviewer來「真正看到內容」。至少在我的測試中,每個vncserver對內存的影響都很小。 – erm3nda 2015-06-01 09:36:16

相關問題