Skip to content
Ruby

API screenshot Ruby pour capture web et automatisation

Ajoutez la capture à toute appli Ruby — Rails, Sinatra, jobs Sidekiq ou scripts. Sans Grover ni wkhtmltopdf.

Ce que vous pouvez construire

Applications Rails

Screenshots et PDF depuis contrôleurs, jobs ou tâches rake avec une API Ruby claire.

PDF factures et rapports

HTML vers PDF fidèle — meilleur rendu que wkhtmltopdf ou Grover.

Captures authentifiées

Commandes d’automatisation pour tableaux de bord clients, admin et SaaS.

Jobs Sidekiq

Mettez les captures en file avec Sidekiq pour du parallélisme et des nouvelles tentatives intégrées.

Ce que l’API gère pour vous

Tous les formats de capture

PNG, JPEG, WebP, PDF pleine page, HTML brut et vidéos.

Commandes d’automatisation

Clics, saisie, défilement, navigation et attentes.

Routage dans plus de 80 pays

Rendu depuis de vrais navigateurs.

Plus de 14 intégrations d’apps

S3, Drive, Dropbox, Slack, etc.

Lots et crawl

Sitemaps et exploration.

Navigateurs sur site

Dans votre réseau.

Installation

terminal
gem install screenshotcenter
Disponible sur RubyGemsrubygems.org/gems/screenshotcenter

Exemple simple

main.rb
require "screenshotcenter"

client = ScreenshotCenter::Client.new(ENV["SCREENSHOTCENTER_API_KEY"])

shot   = client.screenshot.create("https://example.com")
result = client.wait_for(shot["id"])
puts result["url"]     # final URL
puts result["status"]  # "finished"

Autres exemples

Ciblage géographique
shot = client.screenshot.create("https://example.com",
  country: "fr", lang: "fr-FR", tz: "Europe/Paris")
done = client.wait_for(shot["id"])
client.screenshot.save_image(done["id"], "/tmp/fr.png")
Génération de PDF
shot = client.screenshot.create("https://example.com", pdf: true)
done = client.wait_for(shot["id"])
client.screenshot.save_pdf(done["id"], "/tmp/page.pdf")
Gestion des erreurs
begin
  result = client.wait_for(shot["id"], interval: 2, timeout: 60)
rescue ScreenshotCenter::ScreenshotFailedError => e
  puts "Failed: #{e.reason}"
rescue ScreenshotCenter::TimeoutError => e
  puts "Timed out after #{e.timeout_ms}ms"
rescue ScreenshotCenter::ApiError => e
  puts "API error #{e.status}: #{e.message}"
end
Crawl de site web
crawl = client.crawl.create("https://example.com", "example.com", 100)
result = client.crawl.wait_for(crawl["id"])
puts result["total_discovered"]  # pages found

Ressources

Questions fréquentes

Faut-il Grover ou wkhtmltopdf ?

Non. Rendu dans de vrais navigateurs — pas d’outils système à installer.

Compatible Rails ?

Oui. Bundler, contrôleurs, jobs ou rake.

Pages derrière une connexion ?

Oui. Commandes pour saisir les identifiants, cliquer et naviguer.

Quelle version de Ruby ?

Ruby 3.0+ et frameworks web majeurs.

À voir aussi

Commencez à capturer avec Ruby dès aujourd’hui

500 captures offertes à l’essai — sans carte bancaire. Installez le SDK et réalisez votre première capture en quelques minutes.