← 返回博客

用 Ruby 抓取 Google 搜索最便宜的方法(2026)

无需代理或无头浏览器,在 Ruby 中抓取 Google 搜索结果。一次廉价的 API 调用即可返回结构化 JSON——每次查询低至 $0.0006,注册送 100 次。

1 分钟阅读

在 Ruby 里抓取 Google,通常意味着 open-uri + Nokogiri,然后是一份代理清单,接着又是一个无头浏览器。这里给出便宜的替代方案:一次 HTTP 调用,就把 Google 结果以结构化 JSON 返回——不用 Nokogiri,不用代理。

为什么 Ruby 里自己动手抓取代价高昂

  • IP 封锁——Google 几分钟内就封锁数据中心 IP;你不得不租用轮换的住宅代理。
  • CAPTCHA——请求量一上来就会触发,破解成本越积越多。
  • 无头浏览器——JS 渲染的结果逼你用 Ferrum/Selenium,又慢又重。
  • Nokogiri 腐化——Google 的标记一变,你的 CSS 选择器就悄悄返回 nil。

便宜的做法:一次请求

只用标准库——不装任何 gem:

require "net/http"
require "json"

uri = URI("https://api.serp.cheap/v1/search")
req = Net::HTTP::Post.new(uri, {
  "X-API-Key"    => ENV["SERP_CHEAP_API_KEY"],
  "Content-Type" => "application/json",
})
req.body = { q: "best crm software", gl: "us" }.to_json

res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }

JSON.parse(res.body)["organic"].each do |r|
  puts "#{r['position']}. #{r['title']}\n   #{r['link']}"
end

没有代理,没有浏览器,也没有需要照看的解析器。

或者使用官方 gem

gem install serpcheap
require "serpcheap"

client = SerpCheap::Client.new(ENV["SERP_CHEAP_API_KEY"])
res = client.search(q: "best crm software", gl: "us")
puts res.organic.first.title

用 Rails?gem install serpcheap-rails 会加上初始化器和配置,让你在任何地方注入客户端。

价格如何

每次查询价格
实时结果$0.0006
缓存结果$0.0003
注册赠送100 次搜索

按量付费,$0.75/千次起,积分有效期 12 个月——比自建抓取器所需的住宅代理更便宜。参见最便宜的 SERP API 对比。

你会用到的参数

下一步

试试 serp.cheap

复制代码片段,填入你的密钥,就能从 Ruby 抓取 Google 了。注册即送 100 次免费搜索——无需信用卡;之后按量付费,$0.75/千次起,积分有效期 12 个月。

Frequently asked questions

在 Ruby 中抓取 Google 最便宜的方式是什么?+

别再用 Nokogiri 硬啃 Google,也别用代理——用一次 Net::HTTP 请求从 Ruby 调用 SERP API。serp.cheap 每次实时查询 $0.0006(缓存命中 $0.0003)返回结构化 JSON,按量付费,注册即送 100 次免费搜索。

我可以用 Nokogiri 抓取 Google 吗?+

你可以用 Nokogiri 解析 Google 的 HTML,但得先靠住宅代理越过 IP 封锁和 CAPTCHA,而且每当 Google 改动 DOM 你就要重修选择器。SERP API 则以 JSON 返回同样的公开数据,根本无需解析。

有官方的 Ruby gem 吗?+

有——gem install serpcheap,还提供 Rails 集成(gem install serpcheap-rails)。标准库的 Net::HTTP 也可零 gem 使用。

获取你的 API 密钥

直接购买最便宜, 用银行卡或加密货币支付,无需 KYC。或通过市场。