一位朋友问我是否可以帮助他自动化一些耗费大量时间的事情。他在网上评论文章,基本上有一个网站,他登录并坐在刷新它的网页上,直到出现一些数据(新的文章被分级)。与其做这件事,他希望在有新事物需要他关注时通知他们。什么是正确的工具来自动刷新+刷新页面后面的页面?
没有API可用,需要登录才能访问网站。你认为什么是这份工作的正确工具?
我会发表我的想法作为答案,但我很好奇大家的建议。
编辑:他正在运行Windows(Windows Vista)。只要网站运行,浏览器并不重要。
一位朋友问我是否可以帮助他自动化一些耗费大量时间的事情。他在网上评论文章,基本上有一个网站,他登录并坐在刷新它的网页上,直到出现一些数据(新的文章被分级)。与其做这件事,他希望在有新事物需要他关注时通知他们。什么是正确的工具来自动刷新+刷新页面后面的页面?
没有API可用,需要登录才能访问网站。你认为什么是这份工作的正确工具?
我会发表我的想法作为答案,但我很好奇大家的建议。
编辑:他正在运行Windows(Windows Vista)。只要网站运行,浏览器并不重要。
我的想法是为Firefox的Greasemonkey插件编写一个脚本。
基本上他会登录到页面,并打开脚本,这将不断刷新和擦洗网站的新项目。如果发现一些信息,它会弹出消息并播放噪音(或类似的东西)。
我从来没有使用过Greasemonkey,但它看起来像这样应该很简单。
这听起来像一个好计划 – 2009-06-03 18:32:27
您可以使用Waitr(see)编写一个小的Ruby脚本,它实际上会使用浏览器并允许您抓取数据或scrubyt(examples)。
这是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
Watir是一个好主意,但他不是一个开发人员,所以安装红宝石会有点矫枉过正(但也许不是)。 – 2009-06-03 18:38:36
红宝石脚本可以运行在任何地方,只需发邮件给他... – cwash 2009-06-03 18:40:16
哈哈,这是一个很好的观点。尽管如此,他还是要给我他的登录信息。 – 2009-06-03 18:41:19
什么平台?视窗?什么浏览器? – 2009-06-03 18:19:09
好点,编辑 – 2009-06-03 18:23:43