Rendu JavaScript
Les SPA et les pages riches en JS nécessitent une exécution réelle dans un navigateur. Web Scraping API gère cela derrière un seul indicateur.
Activer le rendu
Section intitulée « Activer le rendu »Ajoutez render_js=1 à n’importe quelle requête. Shifter lance une nouvelle instance Chrome headless, navigue vers l’URL, et renvoie le DOM après rendu.
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://example.com&render_js=1"Le rendu JS est facturé au même tarif de 1 crédit par requête réussie que les récupérations statiques. Aucun surcoût.
Attendre le contenu
Section intitulée « Attendre le contenu »La plupart des SPA terminent leur chargement après l’apparition d’un élément spécifique. Utilisez wait_for_css pour bloquer jusqu’à ce que ce sélecteur soit rendu :
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://shop.example.com&render_js=1&wait_for_css=.product-price"La requête se termine dès que .product-price est présent dans le DOM, ou échoue au terme du délai (30s par défaut).
Forcer les délais d’expiration
Section intitulée « Forcer les délais d’expiration »Limitez le temps total que le navigateur peut passer sur une page avec timeout (en millisecondes) :
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://slow.example.com&render_js=1&timeout=10000"Utile pour scraper des tableaux de bord à chargement lent lorsque vous voulez récupérer ce qui est visible après 10 secondes plutôt qu’un rendu complet.
Instructions JavaScript
Section intitulée « Instructions JavaScript »Faites défiler, cliquez, ou exécutez des étapes arbitraires avant la capture grâce à js_instructions (JSON encodé en URL). Modèles courants :
Faire défiler pour charger des flux infinis :
[{"action": "scrollTo", "selector": "footer", "timeout": 5000, "block": "start"}]Cliquer sur un bouton avant le scraping :
[{"action": "click", "selector": "button.load-more", "timeout": 3000}]Enchaîner plusieurs étapes :
[ {"action": "click", "selector": "button.accept-cookies"}, {"action": "scrollTo", "selector": "div.results"}, {"action": "wait", "duration": 2000}]Passez le tableau sous forme de chaîne encodée en URL dans js_instructions.
Captures d’écran
Section intitulée « Captures d’écran »Prenez une capture d’écran de la page entière au lieu du DOM en ajoutant screenshot=1. La réponse est un fichier PNG binaire. Voir Avancé.
Quand se passer du rendu
Section intitulée « Quand se passer du rendu »- Pages HTML statiques (articles d’actualité, billets de blog, contenu de type RSS)
- API JSON (utilisez une récupération directe, pas le point de terminaison de scraping)
- Fichiers et binaires
Se passer de render_js est plus économique en latence, bien que les crédits soient les mêmes.
- Règles d’extraction, extraire des données structurées de la page rendue.
- Avancé, en-têtes, cookies, captures d’écran, POST.