Ruby on rails 使用Rails获取google搜索结果

Ruby on rails 使用Rails获取google搜索结果,ruby-on-rails,search,Ruby On Rails,Search,我在寻找一种使用RoR检索谷歌搜索结果的方法。 我可以看到,不久前,它只是通过删除HTML页面(Scruby、Nokogiri、Mechanize…)来完成的。我想知道第一,如果它是合法的,第二,我真的不明白你怎么能依赖另一个网站的HTML和CSS-如果它在第二天改变会发生什么。。。也许我错过了什么? 然后我看到Google提供了一个API来实现它,但我找不到任何Rails插件来处理它 有人知道吗 谢谢:-) 虽然有,但它最多只能返回100个结果 GoogleAjax::Search.web('

我在寻找一种使用RoR检索谷歌搜索结果的方法。 我可以看到,不久前,它只是通过删除HTML页面(Scruby、Nokogiri、Mechanize…)来完成的。我想知道第一,如果它是合法的,第二,我真的不明白你怎么能依赖另一个网站的HTML和CSS-如果它在第二天改变会发生什么。。。也许我错过了什么? 然后我看到Google提供了一个API来实现它,但我找不到任何Rails插件来处理它

有人知道吗

谢谢:-)

虽然有,但它最多只能返回100个结果

GoogleAjax::Search.web('ruby')[:results].each do |result|
  puts result.inspect
end
除此之外,是的,你可以刮谷歌的结果,不,这是对他们的(见5.3),是的,你仍然可以做一点,没有人会注意到或采取行动

顺便说一句,网站通常不会经常更改HTML标记,谷歌的更改频率可能低于平均水平。屏幕抓取足够稳定,可以实际使用。

虽然有,但它最多只能返回100个结果

GoogleAjax::Search.web('ruby')[:results].each do |result|
  puts result.inspect
end
除此之外,是的,你可以刮谷歌的结果,不,这是对他们的(见5.3),是的,你仍然可以做一点,没有人会注意到或采取行动


顺便说一句,网站通常不会经常更改HTML标记,谷歌的更改频率可能低于平均水平。屏幕抓取非常稳定,非常实用。

非常感谢您的回复!关于GoogleAjax,像GoogleAjax::Search.web这样的函数是否可能无法获取参数。。。?我无法定义页面数或结果数?我还注意到它只返回完整的HTML代码(未清理,需要解析)?@Moozly,我在回答中添加了一个代码示例。我可以确认它与googleajax 1.0.1一起工作。你可以通过传递
:start=>10
作为
web()
@Leonid的第二个参数来迭代搜索结果,所以根据你写的和我在谷歌api上看到的,我总共只能得到100个结果?如果我需要更多…?:-(@Moozly,屏幕抓取就是了。谷歌会注意到并采取行动。他们会开始发送CAPTCHA。非常感谢您的回复!关于GoogleAjax,像GoogleAjax::Search.web这样的函数是否可能无法获取参数…?我无法定义页面数或结果数?我还注意到它只返回完整的HTML代码(未清理,需要解析)?@Moozly,我在回答中添加了一个代码示例。我可以确认它与googleajax 1.0.1一起工作。您可以通过将
:start=>10作为
web()的第二个参数来迭代搜索结果
@Leonid,所以根据你写的和我在谷歌api上看到的,我总共只能得到100个结果?如果我需要更多的结果呢…?:-(@Moozly,屏幕抓取就是了。谷歌会注意并采取行动。他们会开始发送验证码。