2009-06-03 31 views
0

一位朋友問我是否可以幫助他自動化一些耗費大量時間的事情。他在網上評論文章,基本上有一個網站,他登錄並坐在刷新它的網頁上,直到出現一些數據(新的文章被分級)。與其做這件事,他希望在有新事物需要他關注時通知他們。什麼是正確的工具來自動刷新+刷新頁面後面的頁面?

沒有API可用,需要登錄才能訪問網站。你認爲什麼是這份工作的正確工具?

我會發表我的想法作爲答案,但我很好奇大家的建議。

編輯:他正在運行Windows(Windows Vista)。只要網站運行,瀏覽器並不重要。

+0

什麼平臺?視窗?什麼瀏覽器? – 2009-06-03 18:19:09

+0

好點,編輯 – 2009-06-03 18:23:43

回答

2

我的想法是爲Firefox的Greasemonkey插件編寫一個腳本。

基本上他會登錄到頁面,並打開腳本,這將不斷刷新和擦洗網站的新項目。如果發現一些信息,它會彈出消息並播放噪音(或類似的東西)。

我從來沒有使用過Greasemonkey,但它看起來像這樣應該很簡單。

+0

這聽起來像一個好計劃 – 2009-06-03 18:32:27

1

您可以使用Waitr(see)編寫一個小的Ruby腳本,它實際上會使用瀏覽器並允許您抓取數據或scrubytexamples)。

這是scrubyt的樣子。我建議你做一些事情,比如生成電子郵件或IM消息,但可以做任何你喜歡的事情。安排它在某處CRON運行 - 這種方法的好處是,如果他的電腦處於開啓狀態,瀏覽器處於打開狀態等,則無關緊要。

#simple ebay example 

require 'rubygems' 
require 'scrubyt' 

ebay_data = Scrubyt::Extractor.define do 

    fetch 'http://www.ebay.com/' 
    fill_textfield 'satitle', 'ipod' 
    submit 

    record "//table[@class='nol']" do 
     name "//td[@class='details']/div/a" 
    end 
end 

puts ebay_data.to_xml 
+0

Watir是一個好主意,但他不是一個開發人員,所以安裝紅寶石會有點矯枉過正(但也許不是)。 – 2009-06-03 18:38:36

+0

紅寶石腳本可以運行在任何地方,只需發郵件給他... – cwash 2009-06-03 18:40:16

+0

哈哈,這是一個很好的觀點。儘管如此,他還是要給我他的登錄信息。 – 2009-06-03 18:41:19