Ruby on rails Rails-gem-GoogleAjax。如何执行更多搜索?

Ruby on rails Rails-gem-GoogleAjax。如何执行更多搜索?,ruby-on-rails,google-ajax,Ruby On Rails,Google Ajax,使用:Rails 3.1.1 我正在使用googleajax gem在一个包含数千个搜索的脚本中执行Google搜索 在大约20次搜索之后,我需要一次等待和重试的救援,因为看起来你不能连续执行超过一定数量的搜索。大约一分钟后,重试将使搜索继续进行10次以上的搜索。结果是,执行10次搜索大约需要1分钟,这使得脚本速度非常慢 谷歌可能在搜索量上有一个障碍(基于ip?基于googleajax推荐人?),但有办法解决吗 我该怎么做才能在googleajax gem上执行Google搜索,而不必一直暂停和

使用:Rails 3.1.1

我正在使用googleajax gem在一个包含数千个搜索的脚本中执行Google搜索

在大约20次搜索之后,我需要一次等待和重试的救援,因为看起来你不能连续执行超过一定数量的搜索。大约一分钟后,重试将使搜索继续进行10次以上的搜索。结果是,执行10次搜索大约需要1分钟,这使得脚本速度非常慢

谷歌可能在搜索量上有一个障碍(基于ip?基于googleajax推荐人?),但有办法解决吗

我该怎么做才能在googleajax gem上执行Google搜索,而不必一直暂停和等待?我有什么选择

代码(去掉不重要的部分):


对不起,我想你运气不好。GoogleAjax使用的是现在的web搜索API(它已经被弃用一年多了),它可能会在将来的任何时候消失,使gem变得毫无用处。其次,web搜索API和它的替代品都被限制为每天最多查询数,超过这个数,服务将停止响应——这是针对自定义搜索API的。要想获得更多,你必须付费(收费标准是每1000次搜索5美元)。速率限制基于与单个API键关联的查询数

我建议你:

  • 使用gem而不是GoogleAjax(它使用定制的Web搜索API来代替Web搜索API)
  • 使用Google的
  • 考虑启用计费。每次搜索半美分并不可怕,几千次搜索只需花费你10美元

  • 我发现这个漂亮的小宝石在我的最新项目中非常方便

    下面是一个搜索图像的简单用例。 这基本上说明,如果项目名称不等于空字符串,则使用项目名称返回前5个图像的搜索。如果项目名称等于空字符串,因此为零,则不执行任何操作

    - if item.name != "" 
      - Google::Search::Image.new(:query => item.name).first(5).each do |image|
        = image_tag(image.uri)
    

    谢谢你,克里斯!我担心这就是答案。但是,在GoogleAjax还存在的时候,有没有办法在它出现之前进行更多的搜索呢?我猜限制是针对每个IP的搜索设置的:nr还是什么?如果我在多台计算机(服务器)上运行脚本,或者更好的是,人为地改变IP,这会使它工作吗?可能会更改引用url(因为脚本正在运行,所以还无法测试该url)?这有可能吗?如果有可能,谷歌会打我一巴掌吗?我有大约150000个搜索(不要问),现在不太乐意支付这笔款项。我的理解是,限制是基于每个API键的基础上的(但这可能只适用于较新的API)。如果您没有设置API密钥,那么我假设它的限制是每个IP地址(就像静态映射API一样)。
    - if item.name != "" 
      - Google::Search::Image.new(:query => item.name).first(5).each do |image|
        = image_tag(image.uri)