# Parameter
Die API hat die folgenden Parameter: Nur das Token und die URL sind obligatorisch, der Rest ist optional.
# Zeichen
- Erforderlich
- Typ
string
Dieser Parameter ist für alle Anrufe erforderlich
Dies ist Ihr Authentifizierungstoken. Sie haben zwei Token: einen für normale Anfragen und einen für JavaScript-Anfragen.
Verwenden Sie das JavaScript-Token, wenn der Inhalt, den Sie crawlen müssen, über JavaScript generiert wird, entweder weil es sich um eine mit JavaScript erstellte Seite handelt (React, Angular usw.) oder weil der Inhalt dynamisch im Browser generiert wird.
Normales Token
_USER_TOKEN_
JavaScript-Token
_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
- Erforderlich
- Typ
string
Dieser Parameter ist für alle Anrufe erforderlich
Sie benötigen eine URL zum Crawlen. Stellen Sie sicher, dass sie mit http oder https beginnt und dass ist vollständig kodiert.
Beispielsweise in der folgenden URL: https://github.com/crawlbase?tab=repositories
die URL sollte beim Aufruf der API wie folgt codiert werden: 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"
# Format
- Nein
- Typ
string
Gibt das Antwortformat an, entweder json
or html
. Der Standardwert ist html
.
Wenn Format html
verwendet wird, sendet Crawlbase Ihnen die Antwortparameter in den Headern zurück (siehe [HTML-Antwort]/de/crawling-api/response/#html-response) unten).
- 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"
# ziemlich
- Nein
- Typ
boolean
Wenn Sie erwarten eine json
Antwort können Sie die Lesbarkeit optimieren, indem Sie &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
- Nein
- Typ
string
Wenn Sie die Anfrage mit einem benutzerdefinierten Benutzeragenten stellen möchten, können Sie ihn hier übergeben und unsere Server leiten ihn an die angeforderte URL weiter.
Wir empfehlen zu NICHT Verwenden Sie diesen Parameter und überlassen Sie die Handhabung unserer künstlichen Intelligenz.
- 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"
# Seite_warten
- Nein
- Typ
number
Wenn Sie das JavaScript-Token verwenden, können Sie optional Folgendes übergeben: page_wait
Parameter zum Warten einer bestimmten Zeitspanne Millisekunden bevor der Browser den resultierenden HTML-Code erfasst.
Dies ist in Fällen nützlich, in denen das Rendern der Seite einige Sekunden dauert oder vor der Erfassung des HTML etwas Ajax geladen werden muss.
- 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
- Nein
- Typ
boolean
Wenn Sie das JavaScript-Token verwenden, können Sie optional Folgendes übergeben: ajax_wait
Parameter, um auf den Abschluss der Ajax-Anfragen zu warten, bevor die HTML-Antwort abgerufen wird.
- 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-Klickselektor
- Nein
- Typ
string
# Einzelner CSS-Selektor
Wenn Sie das JavaScript-Token verwenden, können Sie optional das css_click_selector
Parameter, um auf ein Element auf der Seite zu klicken, bevor der Browser den resultierenden HTML-Code erfasst.
Dieser Parameter akzeptiert einen vollständig angegebenen und gültigen CSS-Selektor. Sie können beispielsweise einen ID-Selektor wie #some-button
, ein Klassenselektor wie .some-other-button
oder ein Attributselektor wie [data-tab-item="tab1"]
. Um Fehler zu vermeiden, muss sichergestellt werden, dass der CSS-Selektor richtig codiert ist.
Bitte beachten Sie, dass die Anfrage fehlschlägt, wenn der Selektor nicht auf der Seite gefunden wird. pc_status
595
Um eine Antwort zu erhalten, auch wenn ein Selektor nicht gefunden wird, können Sie einen universell gefundenen Selektor anhängen, wie body
, als Fallback. Beispiel: #some-button,body
.
# Mehrere CSS-Selektoren
Um Szenarien zu berücksichtigen, in denen mehrere Elemente nacheinander angeklickt werden müssen, bevor der Seiteninhalt erfasst wird, css_click_selector
Parameter können nun mehrere CSS-Selektoren akzeptieren. Trennen Sie die einzelnen Selektoren durch ein Pipe-Zeichen (|
)-Zeichen. Stellen Sie sicher, dass der gesamte Wert, einschließlich Trennzeichen, URL-codiert ist, um Analyseprobleme zu vermeiden.
Angenommen, Sie möchten auf eine Schaltfläche mit der ID klicken start-button
und dann ein Link mit der Klasse next-page-link
. Sie würden Ihre css_click_selector
Parameter wie folgt:
- Ursprüngliche Selektoren:
#start-button|.next-page-link
- URL-kodiert:
%23start-button%7C.next-page-link
Hängen Sie diesen Parameter an Ihre API-Anfrage an, um sicherzustellen, dass beide Elemente in der angegebenen Reihenfolge angeklickt werden.
Bitte stellen Sie sicher, dass alle angegebenen Selektoren gültig und auf der Seite vorhanden sind, um Fehler zu vermeiden. Wenn ein Selektor nicht gefunden wird, folgt die Anfrage der oben angegebenen Fehlerbehandlung und schlägt fehl mit pc_status
595
es sei denn, ein Fallback-Selektor ist enthalten.
- 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"
# Gerät
- Nein
- Typ
string
Wenn Sie optional keinen User_Agent angeben möchten, aber die Anfragen von einem bestimmten Gerät erhalten möchten, können Sie diesen Parameter verwenden.
Es stehen zwei Optionen zur Verfügung: desktop
und 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
- Nein
- Typ
boolean
Wenn Sie optional die Cookies abrufen möchten, die die ursprüngliche Website auf die Antwort setzt, können Sie die &get_cookies=true
Parameters.
Die Cookies werden im Header (oder in der JSON-Antwort, wenn Sie verwenden) zurückgegeben. &format=json
) wie 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
- Nein
- Typ
boolean
Wenn Sie optional die Header abrufen möchten, die die ursprüngliche Website in der Antwort festlegt, können Sie den &get_headers=true
Parameters.
Die Header werden in der Antwort zurückgegeben als original_header_name
standardmäßig. Wenn &format=json
übergeben wird, wird der Header zurückgegeben als 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"
# Anforderungsheader
- Nein
- Typ
string
Wenn Sie optional Anforderungsheader an die ursprüngliche Website senden müssen, können Sie den &request_headers=EncodedRequestHeaders
Parameters.
Beispiele für Anforderungsheader: Akzeptieren Sie die Sprache: en-GB | Akzeptieren Sie die Kodierung: gzip
Beispiel codiert: &request_headers=accept-language%3Aen-GB%7Caccept-encoding%3Agzip
Bitte beachten Sie, dass nicht alle Anforderungsheader von der API zugelassen werden. Wir empfehlen Ihnen, die gesendeten Header mit dieser Test-URL zu testen: https://postman-echo.com/headers
Wenn Sie zusätzliche Header senden müssen, die von der API nicht zugelassen werden, teilen Sie uns bitte die Header-Namen mit und wir autorisieren sie für Ihr Token.
- 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"
# Cookies setzen
- Nein
- Typ
string
Wenn Sie Cookies an die ursprüngliche Website senden müssen, können Sie optional die &cookies=EncodedCookies
Parameters.
Beispiel-Cookies: key1=value1; key2=value2; key3=value3
Beispiel codiert: &cookies=key1%3Dvalue1%3B%20key2%3Dvalue2%3B%20key3%3Dvalue3
Wir empfehlen Ihnen, die gesendeten Cookies mit dieser Test-URL zu testen: 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_sitzung
- Nein
- Typ
string
Wenn Sie die Cookies, die bei jeder Anfrage zurückkommen, an alle nachfolgenden Aufrufe senden müssen, können Sie den &cookies_session=
Parameters.
Die &cookies_session=
Parameter kann ein beliebiger Wert sein. Senden Sie einfach einen neuen Wert, um eine neue Cookies-Sitzung zu erstellen (so können Sie die zurückgegebenen Cookies aus den nachfolgenden Aufrufen mit diesem Cookies-Sitzungswert an die nächsten API-Aufrufe senden). Der Wert kann maximal 32 Zeichen lang sein und Sitzungen laufen 300 Sekunden nach dem letzten API-Aufruf ab.
- 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"
# Screenshot
- Nein
- Typ
boolean
Wenn Sie das verwenden JavaScript-Tokenkönnen Sie optional weitergeben &screenshot=true
Parameter, um einen Screenshot im JPEG
Format der gesamten gecrawlten Seite.
Crawlbase sendet Ihnen die screenshot_url
in den Antwortheadern (oder in der JSON-Antwort, wenn Sie &format=json
). Der screenshot_url
läuft in einer Stunde ab.
Hinweis: Bei Verwendung der screenshot=true
Parameter können Sie die Screenshot-Ausgabe mit diesen zusätzlichen Parametern anpassen:
mode
: Einstellenviewport
um nur den Ansichtsbereich statt der gesamten Seite zu erfassen. Standard istfullpage
.width
: Maximale Breite in Pixeln angeben (funktioniert nur mitmode=viewport
). Standardmäßig ist die Bildschirmbreite eingestellt.height
: Maximale Höhe in Pixeln angeben (funktioniert nur mitmode=viewport
). Standardmäßig ist die Bildschirmhöhe eingestellt.
Beispiel: &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"
# Shop an
- Nein
- Typ
boolean
Optional weitergeben &store=true
Parameter zum Speichern einer Kopie der API-Antwort im Crawlbase Cloud-Speicher (öffnet neues Fenster) (opens new window).
Crawlbase sendet Ihnen die storage_url
in den Antwortheadern (oder in der JSON-Antwort, wenn Sie &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"
# Schaber
- Nein
- Typ
string
Gibt die Informationen zurück, die gemäß dem angegebenen Scraper analysiert wurden. Überprüfen Sie die Liste aller verfügbaren Daten-Scraper (öffnet neues Fenster) (opens new window) Liste aller verfügbaren Daten-Scraper, um zu sehen, welchen Sie wählen sollten.
Die Antwort wird als JSON zurückgegeben.
Bitte beachte: Scraper ist ein optionaler Parameter. Wenn Sie ihn nicht verwenden, erhalten Sie das vollständige HTML der Seite zurück, sodass Sie es frei scrapen können.
- 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
- Nein
- Typ
boolean
- Derzeit wird mit diesem Parameter nur linkedin.com unterstützt. Sprechen Sie uns an, wenn Sie andere Domänen im asynchronen Modus benötigen.
Optional weitergeben &async=true
Parameter, um die angeforderte URL asynchron zu crawlen. Crawlbase speichert die resultierende Seite im Crawlbase Cloud-Speicher (öffnet neues Fenster) (opens new window).
Als Ergebnis eines Anrufs mit async=true
, Crawlbase sendet Ihnen die Anforderungskennung zurück rid
in der JSON-Antwort. Sie müssen die RID speichern, um das Dokument aus dem Speicher abzurufen. Mit der RID können Sie dann die Cloud Storage-API (öffnet neues Fenster) (opens new window) um die resultierende Seite abzurufen.
Sie können die Verwendung async=true
Parameter in Kombination mit anderen API-Parametern wie zum Beispiel &async=true&autoparse=true
.
Beispiel einer Anfrage mit async=true
Anruf:
- 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"
Beispiel einer Antwort mit async=true
Anruf:
{ "rid": "1e92e8bff32c31c2728714d4" }
# automatische Analyse
- Nein
- Typ
boolean
Wenn Sie optional die Scraped-Daten der von Ihnen angeforderten Seite abrufen möchten, können Sie Folgendes weitergeben: &autoparse=true
Parameters.
Die Antwort wird als JSON zurückgegeben. Die Struktur der Antwort variiert je nach der von Ihnen gesendeten URL.
Bitte beachte: &autoparse=true
ist ein optionaler Parameter. Wenn Sie ihn nicht verwenden, erhalten Sie das vollständige HTML der Seite zurück, sodass Sie es frei scrapen können.
- 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"
# Land
- Nein
- Typ
string
Wenn Sie möchten, dass Ihre Anfragen von einem bestimmten Land aus geolokalisiert werden, können Sie die &country=
Parameter, wie &country=US
(zweistelliger Ländercode).
Bitte beachten Sie, dass die Angabe eines Landes die Anzahl der erfolgreichen Anfragen verringern kann. Verwenden Sie es daher mit Bedacht und nur, wenn Geolokalisierungs-Crawls erforderlich sind.
Beachten Sie auch, dass einige Websites wie Amazon über verschiedene spezielle Proxys weitergeleitet werden und alle Länder zugelassen werden, unabhängig davon, ob sie auf der Liste stehen oder nicht.
Sie haben Zugriff auf folgende Länder
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&country=US&url=https%3A%2F%2Fpostman-echo.com%2Fip"
# tor_netzwerk
- Nein
- Typ
boolean
Wenn Sie Onion-Websites über das Tor-Netzwerk crawlen möchten, können Sie die &tor_network=true
Parameters.
- 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"
# blättern
- Nein
- Typ
boolean
Wenn Sie das verwenden JavaScript-Tokenkönnen Sie optional weitergeben &scroll=true
Laut der API wird dabei standardmäßig ein Scrollintervall von 10 Sekunden eingehalten.
Wenn Sie länger als 10 Sekunden scrollen möchten, senden Sie bitte die &scroll=true&scroll_interval=20
. Diese Parameter weisen den Browser an, nach dem Laden der Seite 20 Sekunden lang zu scrollen. Das maximale Scrollintervall beträgt 60 Sekunden. Nach 60 Sekunden Scrollen erfasst das System die Daten und bringt sie zu Ihnen zurück.
Das Standard-Scrollintervall beträgt 10 Sekunden. Alle 5 Sekunden erfolgreiches Scrollen zählen als zusätzliche JS-Anfrage an die Crawling-API. Nehmen wir also an, Sie senden ein Scrollintervall von 20. Unser System versucht, die Seite maximal 20 Sekunden lang zu scrollen. Wenn es nur 10 Sekunden lang scrollen konnte, werden nur 2 zusätzliche Anfragen verbraucht, statt 4.
Hinweis: Bitte achten Sie darauf, dass Ihre Verbindung bis zu 90 Sekunden lang offen bleibt, wenn Sie 60 Sekunden lang scrollen möchten.
- 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"