Scraper avec Ruby

La librairie standard net/http suffit pour appeler WyndPath en Ruby.

Premier appel

require "net/http"
require "uri"

uri = URI("https://api.wyndpath.com/v1/")
uri.query = URI.encode_www_form(
  api_key: "VOTRE_CLE",
  url: "https://exemple.com"
)
res = Net::HTTP.get_response(uri)
puts res.code       # code HTTP de la cible
puts res.body       # contenu brut

Rendu JavaScript et pays

uri.query = URI.encode_www_form(
  api_key: "VOTRE_CLE",
  url: "https://exemple.com",
  render_js: 1,
  country: "fr",
  max_cost: 15
)

Lire les crédits

puts res["X-WyndPath-Credits"]

Requête POST

uri = URI("https://api.wyndpath.com/v1/")
uri.query = URI.encode_www_form(api_key: "VOTRE_CLE", url: "https://exemple.com/api")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
req = Net::HTTP::Post.new(uri)
req["Content-Type"] = "application/json"
req.body = '{"q":"pikachu"}'
res = http.request(req)

Gérer les erreurs

if res.code == "200"
  html = res.body
else
  puts "Erreur #{res.code} : #{res.body}"
end
✓ Payé au succès. Un appel qui échoue ne consomme aucun crédit.