# Paramètres

L'API a les paramètres suivants, seul le token et l'url sont obligatoires, le reste est facultatif.

# jeton

  • Requis
  • Type string

Ce paramètre est obligatoire pour tous les appels

Il s'agit de votre jeton d'authentification. Vous disposez de deux jetons : un pour les requêtes normales et un autre pour les requêtes JavaScript.

Utilisez le jeton JavaScript lorsque le contenu que vous devez explorer est généré via JavaScript, soit parce qu'il s'agit d'une page créée par JavaScript (React, Angular, etc.), soit parce que le contenu est généré dynamiquement sur le navigateur.

Jeton normal

_USER_TOKEN_

Jeton JavaScript

_JS_TOKEN_

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# url

  • Requis
  • Type string

Ce paramètre est obligatoire pour tous les appels

Vous aurez besoin d'une URL à explorer. Assurez-vous qu'elle commence par http ou https et que est entièrement codé.

Par exemple, dans l’URL suivante : https://github.com/crawlbase?tab=repositories l'url doit être codée lors de l'appel de l'API comme suit : https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# le format

  • Optionnel
  • Type string

Indique le format de la réponse, soit json or html. La valeur par défaut est html.

Si format html est utilisé, Crawlbase vous renverra les paramètres de réponse dans les en-têtes (voir [Réponse HTML]/fr/crawling-api/response/#html-response) ci-dessous).

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories&format=json"

# assez

  • Optionnel
  • Type boolean

Si vous vous attendez à un json réponse, vous pouvez optimiser sa lisibilité en utilisant &pretty=true.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories&format=json&pretty=true"

# user_agent

  • Optionnel
  • Type string

Si vous souhaitez faire la demande avec un agent utilisateur personnalisé, vous pouvez la transmettre ici et nos serveurs la transmettront à l'URL demandée.

Nous recommandons de ne pas utilisez ce paramètre et laissez notre intelligence artificielle gérer cela.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&user_agent=Mozilla%2F5.0+%28Macintosh%3B+Intel+Mac+OS+X+10_12_5%29+AppleWebKit%2F603.2.4+%28KHTML%2C+like+Gecko%29+Version%2F10.1.1+Safari%2F603.2.4&url=https%3A%2F%2Fpostman-echo.com%2Fheaders"

# page_wait

  • Optionnel
  • Type number

Si vous utilisez le jeton JavaScript, vous pouvez éventuellement transmettre page_wait paramètre pour attendre une quantité de millisecondes avant que le navigateur ne capture le code HTML résultant.

Ceci est utile dans les cas où la page prend quelques secondes à s'afficher ou où un ajax doit être chargé avant que le HTML ne soit capturé.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&page_wait=1000&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# ajax_wait

  • Optionnel
  • Type boolean

Si vous utilisez le jeton JavaScript, vous pouvez éventuellement transmettre ajax_wait paramètre pour attendre que les requêtes ajax se terminent avant d'obtenir la réponse html.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&ajax_wait=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# css_click_selector

  • Optionnel
  • Type string

# Sélecteur CSS unique

Si vous utilisez le jeton JavaScript, vous pouvez éventuellement transmettre le css_click_selector paramètre permettant de cliquer sur un élément de la page avant que le navigateur ne capture le code HTML résultant.

Ce paramètre accepte un sélecteur CSS entièrement spécifié et valide. Par exemple, vous pouvez utiliser un sélecteur d'ID tel que #some-button, un sélecteur de classe comme .some-other-button, ou un sélecteur d'attribut tel que [data-tab-item="tab1"]Il est important de s'assurer que le sélecteur CSS est correctement codé pour éviter les erreurs.

Veuillez noter que si le sélecteur n'est pas trouvé sur la page, la demande échouera avec pc_status 595. Pour recevoir une réponse même lorsqu'un sélecteur n'est pas trouvé, vous pouvez ajouter un sélecteur universellement trouvé, comme body, comme solution de secours. Par exemple : #some-button,body.

# Plusieurs sélecteurs CSS

Pour prendre en charge les scénarios dans lesquels il peut être nécessaire de cliquer sur plusieurs éléments de manière séquentielle avant de capturer le contenu de la page, le css_click_selector Le paramètre peut désormais accepter plusieurs sélecteurs CSS. Séparez chaque sélecteur par un tuyau (|) caractère. Assurez-vous que la valeur entière, y compris les séparateurs, est codée en URL pour éviter tout problème d'analyse.

Supposons que vous souhaitiez cliquer sur un bouton avec l'ID start-button et puis un lien avec la classe next-page-link. Vous construiriez votre css_click_selector paramètre comme ceci :

  • Sélecteurs originaux : #start-button|.next-page-link
  • URL codée : %23start-button%7C.next-page-link

Ajoutez ce paramètre à votre requête API pour garantir que les deux éléments sont cliqués dans l'ordre spécifié.

Veuillez vous assurer que tous les sélecteurs fournis sont valides et présents sur la page pour éviter les erreurs. Si aucun sélecteur n'est trouvé, la demande suivra la gestion des erreurs spécifiée ci-dessus, échouant avec pc_status 595 à moins qu'un sélecteur de secours ne soit inclus.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&css_click_selector=%5Bdata-tab-item%3D%22overview%22%5D&page_wait=1000&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# dispositif

  • Optionnel
  • Type string

En option, si vous ne souhaitez pas spécifier de user_agent mais que vous souhaitez recevoir les requêtes d'un appareil spécifique, vous pouvez utiliser ce paramètre.

Il y a deux options disponibles: desktop et mobile.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&device=mobile&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# get_cookies

  • Optionnel
  • Type boolean

En option, si vous devez obtenir les cookies que le site Web d'origine définit sur la réponse, vous pouvez utiliser l' &get_cookies=true paramètre.

Les cookies reviendront dans l'en-tête (ou dans la réponse json si vous utilisez &format=json) comme original_set_cookie.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&get_cookies=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# get_headers

  • Optionnel
  • Type boolean

En option, si vous devez obtenir les en-têtes que le site Web d'origine définit sur la réponse, vous pouvez utiliser l' &get_headers=true paramètre.

Les en-têtes reviendront dans la réponse sous la forme original_header_name par défaut. Lorsque &format=json est passé, l'en-tête reviendra comme original_headers.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&get_headers=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# en-têtes de requête

  • Optionnel
  • Type string

En option, si vous devez envoyer des en-têtes de demande au site Web d'origine, vous pouvez utiliser le &request_headers=EncodedRequestHeaders paramètre.

Exemples d'en-têtes de requête : accept-language:en-GB|accept-encoding:gzip

Exemple codé : &request_headers=accept-language%3Afr-GB%7Caccept-encoding%3Agzip

Veuillez noter que tous les en-têtes de requête ne sont pas autorisés par l'API. Nous vous recommandons de tester les en-têtes envoyés à l'aide de cette URL de test : https://postman-echo.com/headers

Si vous devez envoyer des en-têtes supplémentaires qui ne sont pas autorisés par l'API, veuillez nous indiquer les noms des en-têtes et nous les autoriserons pour votre jeton.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&request_headers=accept-language%3Aen-GB%7Caccept-encoding%3Agzip&url=https%3A%2F%2Fpostman-echo.com%2Fheaders"

# définir_cookies

  • Optionnel
  • Type string

En option, si vous devez envoyer des cookies au site Web d'origine, vous pouvez utiliser le &cookies=EncodedCookies paramètre.

Exemples de cookies : key1=value1; key2=value2; key3=value3

Exemple codé : &cookies=key1%3Dvalue1%3B%20key2%3Dvalue2%3B%20key3%3Dvalue3

Nous vous recommandons de tester les cookies envoyés en utilisant cette URL de test : https://postman-echo.com/cookies

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&cookies=key1%3Dvalue1%3B%20key2%3Dvalue2%3B%20key3%3Dvalue3&url=https%3A%2F%2Fpostman-echo.com%2Fcookies"

# cookies_session

  • Optionnel
  • Type string

Si vous devez envoyer les cookies qui reviennent à chaque demande à tous les appels ultérieurs, vous pouvez utiliser le &cookies_session= paramètre.

VOTRE &cookies_session= Le paramètre peut être n'importe quelle valeur. Envoyez simplement une nouvelle valeur pour créer une nouvelle session de cookies (cela vous permettra d'envoyer les cookies renvoyés par les appels suivants aux prochains appels d'API avec cette valeur de session de cookies). La valeur peut contenir au maximum 32 caractères et les sessions expirent 300 secondes après le dernier appel d'API.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&cookies_session=1234abcd&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# capture d'écran

  • Optionnel
  • Type boolean

Si vous utilisez le Jeton JavaScript, vous pouvez éventuellement passer &screenshot=true paramètre pour obtenir une capture d'écran dans le JPEG format de la page entière explorée.

Crawlbase vous renverra le screenshot_url dans les en-têtes de réponse (ou dans la réponse json si vous utilisez &format=json). Le screenshot_url expire dans une heure.

Remarque : Lorsque vous utilisez le screenshot=true paramètre, vous pouvez personnaliser la sortie de la capture d'écran avec ces paramètres supplémentaires :

  • mode: Mis à viewport pour capturer uniquement la fenêtre d'affichage au lieu de la page entière. La valeur par défaut est fullpage.
  • width: Spécifiez la largeur maximale en pixels (fonctionne uniquement avec mode=viewport). La valeur par défaut est la largeur de l'écran.
  • height: Spécifiez la hauteur maximale en pixels (fonctionne uniquement avec mode=viewport). La valeur par défaut est la hauteur de l'écran.

Mise en situation : &screenshot=true&mode=viewport&width=1200&height=800

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&screenshot=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# Boutique

  • Optionnel
  • Type boolean

Passer en option &store=true paramètre pour stocker une copie de la réponse de l'API dans le Stockage dans le cloud de Crawlbase (ouvre une nouvelle fenêtre) (opens new window).

Crawlbase vous renverra le storage_url dans les en-têtes de réponse (ou dans la réponse json si vous utilisez &format=json).

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&store=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"

# grattoir

  • Optionnel
  • Type string

Renvoie les informations analysées selon le scraper spécifié. Vérifiez le liste de tous les scrapers de données disponibles (ouvre une nouvelle fenêtre) (opens new window) liste de tous les scrapers de données disponibles pour voir lequel choisir.

La réponse reviendra au format JSON.

Veuillez noter : Scraper est un paramètre optionnel. Si vous ne l'utilisez pas, vous recevrez en retour le code HTML complet de la page afin de pouvoir le scraper librement.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&scraper=amazon-product-details&url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB0B7CBZZ16"

# async

  • Optionnel
  • Type boolean
  • Actuellement, seul linkedin.com est pris en charge avec ce paramètre. Contactez-nous si vous avez besoin d'autres domaines en mode asynchrone.

Passer en option &async=true paramètre pour explorer l'URL demandée de manière asynchrone. Crawlbase stockera la page résultante dans le Stockage dans le cloud de Crawlbase (ouvre une nouvelle fenêtre) (opens new window).

À la suite d'un appel avec async=trueCrawlbase vous renverra l'identifiant de la demande rid dans la réponse json. Vous devrez stocker le RID pour récupérer le document à partir du stockage. Avec le RID, vous pouvez ensuite utiliser le API de stockage en nuage (ouvre une nouvelle fenêtre) (opens new window) pour récupérer la page résultante.

Vous pouvez utiliser le async=true paramètre en combinaison avec d'autres paramètres d'API comme par exemple &async=true&autoparse=true.

Exemple de demande avec async=true appel:

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&async=true&url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fcrawlbase"

Exemple de réponse avec async=true appel:

{ "rid": "1e92e8bff32c31c2728714d4" }

# analyse automatique

  • Optionnel
  • Type boolean

En option, si vous avez besoin d'obtenir les données extraites de la page que vous avez demandée, vous pouvez passer &autoparse=true paramètre.

La réponse sera renvoyée au format JSON. La structure de la réponse varie en fonction de l'URL que vous avez envoyée.

Veuillez noter : &autoparse=true est un paramètre optionnel. Si vous ne l'utilisez pas, vous recevrez en retour le code HTML complet de la page afin de pouvoir le récupérer librement.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&autoparse=true&url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB0B7CBZZ16"

# Pays

  • Optionnel
  • Type string

Si vous souhaitez que vos demandes soient géolocalisées depuis un pays spécifique, vous pouvez utiliser le &country= paramètre, comme &country=US (code pays à deux caractères).

Veuillez prendre en compte que la spécification d'un pays peut réduire le nombre de demandes réussies que vous recevez, alors utilisez-le judicieusement et uniquement lorsque des explorations de géolocalisation sont nécessaires.

Notez également que certains sites Web comme Amazon sont acheminés via différents proxys spéciaux et que tous les pays sont autorisés, qu'ils soient ou non dans la liste.

Vous avez accès aux pays suivants

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&country=US&url=https%3A%2F%2Fpostman-echo.com%2Fip"

# réseau tor

  • Optionnel
  • Type boolean

Si vous souhaitez explorer des sites Web Onion sur le réseau Tor, vous pouvez passer le &tor_network=true paramètre.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&tor_network=true&url=https%3A%2F%2Fwww.facebookcorewwwi.onion%2F"

# volute

  • Optionnel
  • Type boolean

Si vous utilisez le Jeton JavaScript, vous pouvez éventuellement passer &scroll=true pour l'API, cela défilera par défaut pendant un intervalle de défilement de 10 secondes.

Si vous souhaitez faire défiler plus de 10 secondes, veuillez envoyer le &scroll=true&scroll_interval=20. Ces paramètres indiqueront au navigateur de faire défiler la page pendant 20 secondes après l'avoir chargée. L'intervalle de défilement maximal est de 60 secondes. Après 60 secondes de défilement, le système capture les données et vous les renvoie.

L'intervalle de défilement par défaut est de 10 secondes. Toutes les 5 secondes de défilement réussi comptent comme une requête JS supplémentaire sur l'API Crawling, donc supposons que vous envoyiez un scroll_interval 20, notre système essaie de faire défiler la page pendant un maximum de 20 secondes, s'il n'a pu faire défiler que pendant 10 secondes, seules 2 requêtes supplémentaires sont consommées au lieu de 4.

Remarque : Assurez-vous de garder votre connexion ouverte jusqu'à 90 secondes si vous avez l'intention de faire défiler pendant 60 secondes.

  • curl
  • ruby
  • node
  • php
  • python
  • go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&scroll=true&url=https%3A%2F%2Fwww.reddit.com%2Fsearch%2F%3Fq%3Dcrawlbase"