# Paramètres
L'API aux paramètres suivants, seul le token et l'url sont obligatoires, le reste est facultatif.
# jeton
- Exigence
- 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_
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# url
- Exigence
- 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
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# le format
- en option
- Type
string
Indiquez le format de la réponse, soit json or html. La valeur par défaut est html.
Format Si html est utilisé, Crawlbase vous renverra les paramètres de réponse dans les en-têtes (voir Réponse HTML ci-dessous).
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories&format=json"
# assez
- en option
- Type
boolean
Si vous vous attendez à un json réponse, vous pouvez optimiser sa lisibilité en utilisant &pretty=true.
- boucle
- rubis
- nœud
- 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
- en option
- Type
string
Si vous souhaitez effectuer la demande avec un agent utilisateur personnalisé, vous pouvez la transmettre ici et nos serveurs la transmettront à l'URL demandée.
Nous vous recommandons de ne pas Utilisez ce paramètre et laissez notre intelligence artificielle gérer cela.
- boucle
- rubis
- nœud
- 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
- en option
- 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é.
- boucle
- rubis
- nœud
- 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
- en option
- 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.
- boucle
- rubis
- nœud
- 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
- en option
- 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ètres 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ées ci-dessus, échouant avec pc_status 595 à moins qu'un sélecteur de secours ne soit inclus.
- boucle
- rubis
- nœud
- 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
- en option
- Type
string
En option, si vous ne souhaitez pas préciser 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.
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&device=mobile&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# get_cookies
- en option
- Type
boolean
En option, si vous devez les cookies que le site Web d'origine définit sur la réponse, vous pouvez obtenir 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) manger original_set_cookie.
- boucle
- rubis
- nœud
- 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
- en option
- Type
boolean
En option, si vous devez 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.
- boucle
- rubis
- nœud
- 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
- en option
- 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 l'API n'autorise pas tous les en-têtes de requête. Nous vous recommandons de tester les en-têtes envoyés via 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 autorisésrons pour votre jeton.
- boucle
- rubis
- nœud
- 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
- en option
- 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
- boucle
- rubis
- nœud
- 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
- en option
- 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.
Le &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.
- boucle
- rubis
- nœud
- 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
- en option
- Type
boolean
Si vous l'utilisez 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 je te renverrai le screenshot_url dans les en-têtes de réponse (ou dans la réponse json si vous utilisez &format=json). la 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 àviewportpour 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.
exemple: &screenshot=true&mode=viewport&width=1200&height=800
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&screenshot=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# Boutique
- en option
- Type
boolean
Passer en option &store=true paramètre pour stocker une copie de la réponse de l'API dans le Crawlbase Cloud Storage (Ouvre une nouvelle fenêtre) (ouvre une nouvelle fenêtre).
Crawlbase je te renverrai le storage_url dans les en-têtes de réponse (ou dans la réponse json si vous utilisez &format=json).
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&store=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# grattoir
- en option
- 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) (ouvre une nouvelle fenêtre) liste de tous les scrapers de données disponibles pour voir lequel choisir.
La réponse reviendra au format JSON.
Attention: Scraper est un paramètre optionnel. Si vous ne l'utilisez pas, vous recevez en retour le code HTML complet de la page afin de pouvoir le scraper librement.
- boucle
- rubis
- nœud
- 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
- en option
- 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 permettant d'explorer l'URL demandée de manière asynchrone. Crawlbase stockera la page résultante dans le Crawlbase Cloud Storage (Ouvre une nouvelle fenêtre) (ouvre une nouvelle fenêtre).
À 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 stockage cloud (ouvre une nouvelle fenêtre) (ouvre une nouvelle fenêtre) pour récupérer la page résultante.
Tu peux l'utiliser 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:
- boucle
- rubis
- nœud
- 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
- en option
- 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.
Attention: &autoparse=true est un paramètre optionnel. Si vous ne l'utilisez pas, vous recevez en retour le code HTML complet de la page afin de pouvoir le récupérer librement.
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&autoparse=true&url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB0B7CBZZ16"
# Pays
- en option
- 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 (le code paie à 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
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&country=US&url=https%3A%2F%2Fpostman-echo.com%2Fip"
# réseau tor
- en option
- Type
boolean
Si vous souhaitez explorer des sites Web Onion sur le réseau Tor, vous pouvez passer le &tor_network=true paramètre.
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&tor_network=true&url=https%3A%2F%2Fwww.facebookcorewwwi.onion%2F"
# volute
- en option
- Catégorie:
boolean
Permet le défilement automatique pour charger le contenu dynamique d'une page lors d'une session de navigation réelle. Utilisé avec le jeton JavaScript.
Paramètres
scroll=true:Permet le défilement.scroll_interval:Entier (secondes). Définit la durée de défilement. après le chargement de la page. Par défaut :10. Maximum:60.
exemple: &scroll=true&scroll_interval=20
Comportement
Quand
scroll=trueest défini, l'API charge l'URL dans un navigateur réel et fait défiler la page par programmation jusqu'àscroll_intervalsecondes pour déclencher le chargement du contenu dynamique (par exemple, défilement infini).Après le défilement, le contenu est capturé et renvoyé.
If
scroll_intervaln'est pas défini, la valeur par défaut est de 10 secondes.
Facturation
Les requêtes activées par défilement sont facturées en fonction du temps de traitement total côté serveur :
Unité de facturation initiale :
Chaque
scroll=trueL'appel API est facturé comme 1 demande,couvrant le premier 8 seconde du temps de traitement total (y compris le chargement et le défilement de la page).Unités de facturation supplémentaires :
Verser chaque 5 secondes supplémentaires du temps de traitement au-delà des 8 premières secondes, 1 demande facturée supplémentaire est ajouté.
- Exemple de calcul :
- Temps de traitement : 20 secondes
- 1 requête facturée pour les 8 premières secondes
- +1 demande facturée pour les secondes 9 à 13
- +1 demande facturée pour les secondes 14 à 18
- +1 demande facturée (19–20 s, cette fraction est facturée comme un bloc complet)
- Total facturé : 4 demandes
- 1 requête facturée pour les 8 premières secondes
- Si le processus se termine avant l'intervalle de définition défini, seul le temps de traitement réel est facturé.
Remarques
Intervalle de défilement maximal autorisé est de 60 secondes. Après 60 secondes, le défilement s'arrête et les données sont renvoyées.
Temps de connexion : Si tu utilises
scroll_interval=60, gardez votre connexion client ouverte jusqu'à 90 secondes.Délais d'expiration spécifiques au site : Certains domaines peuvent nécessiter des délais d'attente serveur plus longs, gérés automatiquement.
scrollavecpage_waitpeut augmenter le temps de traitement total et affecter la facturation.
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&scroll=true&scroll_interval=20&url=https%3A%2F%2Fwww.reddit.com%2Fsearch%2F%3Fq%3Dcrawlbase"
# codes_de_réussite_personnalisés
- en option
- Type
string
Vous permet de préciser des codes d'état HTTP personnalisés qui doivent être traités comme des réponses réussies, entraînant ainsi les nouvelles tentatives inutiles tout en préservant le code d'état d'origine dans la réponse.
Usage: custom_success_codes=403,429,503
Ce paramètre est utile lorsque vous ciblez des domaines qui renvoient des codes de réussite non standard (comme 403 ou 500) qui doivent être confirmés comme réussis pour votre cas d'utilisation spécifique.
Remarque: En utilisant ce paramètre, vous assumez la responsabilité de définir ce qui constitue une réponse réussie à vos demandes.
- boucle
- rubis
- nœud
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&custom_success_codes=403%2C429%2C503&url=https%3A%2F%2Fexample.com%2Fapi"