# 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 estfullpage
.width
: Spécifiez la largeur maximale en pixels (fonctionne uniquement avecmode=viewport
). La valeur par défaut est la largeur de l'écran.height
: Spécifiez la hauteur maximale en pixels (fonctionne uniquement avecmode=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=true
Crawlbase 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"