2011-08-31 74 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