Google in Ruby zu scrapen bedeutet meist open-uri + Nokogiri, dann eine Proxy-Liste, dann einen Headless-Browser. Hier ist die günstige Alternative: ein HTTP-Aufruf, der Google-Ergebnisse als strukturiertes JSON zurückgibt — kein Nokogiri, keine Proxys.
Warum DIY-Scraping in Ruby teuer wird
- IP-Sperren — Google blockiert Rechenzentrums-IPs innerhalb von Minuten; du müsstest rotierende Residential-Proxys mieten.
- CAPTCHAs — Volumen löst sie aus, und die Löse-Kosten summieren sich.
- Headless-Browser — JS-gerenderte Ergebnisse drängen dich zu Ferrum/Selenium, langsam und schwer.
- Nokogiri-Verfall — Googles Markup verschiebt sich und deine CSS-Selektoren geben klammheimlich
nilzurück.
Der günstige Weg: eine Anfrage
Nur die Standardbibliothek — keine Gems:
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
Keine Proxys, kein Browser, kein Parser, auf den man aufpassen muss.
Oder nutze das offizielle 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
Auf Rails? gem install serpcheap-rails fügt einen Initializer und Konfiguration hinzu, sodass du den Client überall injizieren kannst.
Was es kostet
| Preis pro Abfrage | |
|---|---|
| Frisches Ergebnis | $0.0006 |
| Gecachtes Ergebnis | $0.0003 |
| Gratis bei der Anmeldung | 100 Suchen |
Pay-as-you-go ab $0.75/1k, Credits 12 Monate gültig — günstiger als die Residential-Proxys, die ein DIY-Scraper braucht. Siehe den Vergleich der günstigsten SERP API.
Parameter, die du nutzen wirst
gl— Land der Ergebnisse. Siehe lokales SEO nach Land.hl— Oberflächensprache.page— 1-indiziert; siehe Paginierung.tbs— Zeitfilter für aktuelle Ergebnisse.
Weiter
Probiere serp.cheap aus
Kopiere das Snippet, füge deinen Key ein, und du scrapst Google aus Ruby. 100 kostenlose Suchen bei der Anmeldung — keine Karte nötig; Pay-as-you-go ab $0.75/1k danach, und Credits bleiben 12 Monate gültig.
- Hol dir deinen kostenlosen API-Key →
- Lieber per Karte zahlen? serp.cheap ist auch auf RapidAPI (
$0.90/1k) und Apify ($1.50/1k).