Ruby访问网页

时间:2011-08-31 10:52:35

标签: ruby

我需要一个自动访问网页的脚本。我创造了这个:

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

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

虽然它收到了实际的网站html代码,但它似乎并没有真正访问该页面。我在一个有工作客人柜台的网站上进行了测试,但没有改变。

有一种简单的方法可以在ruby中创建一个wabsite自动访问脚本吗?

再见

4 个答案:

答案 0 :(得分:3)

您最好的选择是使用WATIR(Ruby中的Web应用程序测试)

它可以与网页的大多数(如果不是全部)方面进行交互,并且实际上会驱动浏览器(IE,Firefox使用firewatir,或使用watir-webdriver我认为是Chrome)

前往http://watir.com/并尝试一下。

答案 1 :(得分:2)

Mechanize可以帮助您以优雅的方式与网站互动。

答案 2 :(得分:1)

如果计数器是在javascript中实现的,则可能不会被脚本触发

答案 3 :(得分:1)

不仅仅是“访问页面”行为,除非您可以使用完整的网络浏览器,其行为类似于真正的网络浏览器,就像页面的创建者一样。

有什么可以计算的是下载一些图像(可能是隐藏的),通过页面上加载的javascript文件的代码启动AJAX调用到服务器,或者只是获取html文件(在你的情况下没有工作)。如果你想构建完整的类似浏览器的脚本,那么你需要获取html中包含的所有图像和其他文件(并且可能首先解析html),并在必要时以某种方式执行javascripts。但我会花一些时间试图找到真正重要的东西并保持简单。