Ruby에서 Google을 스크래핑하는 것은 보통 open-uri + Nokogiri에서 시작해 프록시 목록으로, 그다음 헤드리스 브라우저로 이어집니다. 저렴한 대안은 이렇습니다. Google 결과를 구조화된 JSON으로 반환하는 HTTP 호출 한 번 — 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/1k부터 사용한 만큼 지불하며 크레딧은 12개월간 유효합니다 — 직접 만든 스크래퍼에 필요한 레지덴셜 프록시보다 저렴합니다. 가장 저렴한 SERP API 비교를 참고하세요.
사용하게 될 매개변수
gl— 결과 국가. 국가별 로컬 SEO를 참고하세요.hl— 인터페이스 언어.page— 1부터 시작. 페이지네이션을 참고하세요.tbs— 최신 결과를 위한 시간 필터.
다음
serp.cheap 사용해 보기
스니펫을 복사하고 키를 추가하면 Ruby에서 Google 스크래핑이 시작됩니다. 가입 시 100회 무료 검색 — 카드 불필요. 이후에는 $0.75/1k부터 사용한 만큼 지불하며, 크레딧은 12개월간 유효합니다.
- 무료 API 키 받기 →
- 카드 결제를 선호하시나요? serp.cheap는 RapidAPI(
$0.90/1k)와 Apify($1.50/1k)에서도 이용할 수 있습니다.