使用:Rails 3.1.1
我正在使用 googleajax gem 在包含数千次搜索的脚本中执行 Google 搜索。
在大约 20 次搜索之后,我需要等待并重试的救援,因为您似乎无法连续执行超过一定数量的搜索。大约一分钟后,重试会使搜索继续进行 10 次以上的搜索。结果是执行 10 次搜索大约需要一分钟,这使得脚本非常慢。
谷歌似乎有可能限制一个人可以执行的搜索量(基于 ip?基于 googleajax 推荐人?),但有没有办法解决这个问题?
我可以做些什么才能通过 googleajax gem 执行 Google 搜索,而不必一直暂停和等待?我有什么选择?
代码(去掉了不重要的部分):
begin
puts "Searching with " + gsquery
results = GoogleAjax::Search.web(gsquery)[:results]
if results.count > 0
puts "#{results.count} results found for #{page.name}. Registering the connection!"
end
rescue
puts "Try again in 3 sec"
sleep 3
retry
rescue Timeout::Error
puts "Timeout Error, sleep 15 sec"
sleep 15
retry
end