2011-08-31 69 views
1

我需要一個腳本自動訪問網頁。我創建了這個:Ruby訪問網頁

20.times do 
    open(websiteURL) do |file| 
    file.each{|line| puts line} 
    end 

    puts '--------------------' 
end 

雖然它接收到實際的網站html代碼,但它似乎並沒有真正訪問該頁面。我在一個帶有工作客人櫃檯的網站上對它進行了測試,結果沒有改變。

有沒有一種簡單的方法來創建一個紅寶石汽車wabsite訪問腳本?

再見

+0

你的客戶端腳本和服務器之間可能有某種HTTP緩存嗎? –

+2

它執行請求,但不執行JavaScript。如果你的櫃檯是客戶端的話,這個命中不會被計算在內。 –

+0

有些計數器只計算不同的IP(或使用其他類似的方式)來註冊唯一訪問者。 –

回答

3

你最好的選擇是使用的Watir(Web應用程序測試在Ruby)

,可與大多數,如果不是一個網頁的各個方面,實際上將推動瀏覽器(IE,Firefox中使用firewatir,或Chrome互動使用的Watir-webdriver的,我認爲)這裏

團長http://watir.com/,並給它一試。

+0

這很奇妙。謝謝。 – gisek

2

Mechanize可以幫助你在一個優雅的方式一個網站交互。

+0

這會執行JavaScript嗎? – gisek

1

如果計數器實現在JavaScript它可能不是你的腳本觸發

1

有不只是「訪問網頁」的行爲,除非你能使用全面的Web瀏覽器,其行爲就像真正的web瀏覽器一樣的創造者您的網頁預計會計數。

什麼可以指望的下載一些圖片(也許隱藏),由代碼開始AJAX調用服務器從JavaScript文件中加載頁面,或取HTML文件(在你的情況沒有工作)上。如果您想構建完整的類似瀏覽器的腳本,那麼您需要獲取html中包含的所有圖像和其他文件(並可能首先解析html),並在必要時執行javascripts。但是我會花一些時間試圖找出真正被計算的東西,並保持簡單。

+0

執行直接工作的腳本。 – gisek