2009-06-03 52 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