Temu ist ein schnell wachsender Marktplatz, der für ein riesiges Sortiment zu aggressiven Preisen bekannt ist und Elektronik, Mode und Haushaltswaren umfasst. Suchergebnis- und Listenseiten tragen genau die öffentlichen Signale, die Händler, Analysten und Preis-Tracker interessieren: wie ein Produkt heißt, was es aktuell kostet, wie Käufer es bewerten und wie viele Einheiten bereits verkauft wurden. Zusammen betrachtet über eine Kategorie zeigen diese Felder, was gerade im Trend liegt und wie sich die Preise entwickeln.

Diese Anleitung zeigt Ihnen, wie Sie Temu scrapen mit JavaScript und Node.js unter Verwendung von cheerio. Sie bauen einen kleinen, lauffähigen Scraper, der eine Temu-Suchergebnisseite über die Crawling API abruft, Titel, Preis, Bewertung, Verkaufsanzahl und Link für jedes Produkt parst, die "Mehr anzeigen"-Paginierung behandelt und das Ergebnis als JSON und CSV exportiert. Die gesamte Anleitung beschränkt sich auf öffentliche Produktlistendaten, und der Abschnitt zur Rechtslage am Ende ist kein Standardtext, also lesen Sie ihn, bevor Sie dies auf echte Volumina anwenden.

Was Sie bauen werden

Ein Node.js-Skript, das eine öffentliche Temu-Such-URL entgegennimmt, das gerenderte HTML über die Crawling API abruft und für jedes Produkt auf der Listenseite einen strukturierten Datensatz extrahiert. Als durchgängiges Beispiel verwenden wir eine allgemeine Suchanfrage und ziehen diese Felder pro Artikel:

  • Titel der Produktname, der auf der Karte angezeigt wird, zur Identifikation des Artikels und seiner Kategorie.
  • Preis der angezeigte Preistext, für die Trendüberwachung und den Vergleich ähnlicher Produkte.
  • Bewertung die auf der Karte angezeigte Sternebewertung, ein schneller Überblick über die Kundenstimmung.
  • Verkaufsanzahl die von Temu auf vielen Karten angezeigte "N verkauft"-Angabe, ein grober Nachfrageindikator.
  • Bild-URL das Produktvorschaubild, für eine visuelle Datenbank oder nachgelagerte Anwendung.
  • Link die URL zur einzelnen Produktseite, damit Sie später ins Detail gehen können.

Warum eine einfache Anfrage bei Temu scheitert

Wenn Sie eine Temu-Such-URL mit einem einfachen HTTP-Client anfordern, erhalten Sie selten das Produktraster zurück. Zwei Dinge arbeiten gegen Sie. Erstens rendert Temu seine Listenkarten im Browser mit JavaScript, sodass das initiale HTML eine nahezu leere Hülle ist, bis die Skripte der Seite ausgeführt werden und die Warenliste geladen wird. Zweitens fordert Temu automatisierten Datenverkehr aggressiv heraus: Datacenter-IPs und Anfragemuster, die nicht wie ein echter Browser aussehen, erhalten einen CAPTCHA, werden ratenlimitiert oder blockiert, bevor sie jemals die gerenderten Produktdaten erreichen.

Ein funktionierender Temu-Scraper benötigt also zwei Dinge in einer Anfrage: einen Browser, der die Seite tatsächlich rendert, und eine IP, die die Plattform als echten Besucher liest. Sie können das selbst mit einem Headless-Browser plus einem Pool rotierender Residential-Proxys zusammenstellen, aber diese zu verknüpfen und gesund zu halten ist der Großteil der Arbeit. Die Crawling API fasst beides in einem einzigen Aufruf zusammen: Sie senden ihr die URL, sie rendert die Seite hinter einer vertrauenswürdigen IP und gibt fertiges HTML zurück, das Sie mit cheerio parsen können. Da die Warenliste durch clientseitige Skripte geladen wird, weisen Sie die API an, auf diesen Inhalt zu warten, bevor sie zurückkehrt.

Render tokens

Für das Scrapen von JavaScript-gerenderten Inhalten wie Temus benötigen Sie das JavaScript-Request-Token aus Ihrem Crawlbase-Dashboard, nicht das normale. Der kostenlose Tarif enthält bis zu 20.000 Anfragen ohne Kreditkarte, und Sie zahlen nur für erfolgreiche Anfragen. Auf der Preisseite sehen Sie, wie normale und JavaScript-Anfragen gutgeschrieben werden.

Voraussetzungen

Sie benötigen einige Dinge, bevor Sie Code schreiben. Keines davon dauert lange.

Grundlegende JavaScript- und Node.js-Kenntnisse. Sie sollten in der Lage sein, ein Node-Skript zu schreiben und auszuführen sowie Pakete mit npm zu installieren. Wenn Sie neu bei Node sind, bringen Sie die offiziellen Docs oder ein Einsteigerkurs auf das Niveau, das dieses Tutorial voraussetzt.

Node.js 16 oder höher. Überprüfen Sie Ihre Version mit node --version. Falls nicht vorhanden, installieren Sie es von der Node.js-Website oder über einen Versionsmanager wie nvm.

Ein Crawlbase-Konto und Token. Registrieren Sie sich, öffnen Sie Ihr Dashboard und kopieren Sie Ihr JavaScript-Request-Token von der Konto-Docs-Seite. Behandeln Sie das Token wie ein Passwort: Es authentifiziert Ihre Anfragen, also halten Sie es aus der Versionskontrolle heraus.

Das Projekt einrichten

Erstellen Sie einen Projektordner, initialisieren Sie ihn und installieren Sie die zwei Bibliotheken, die der Scraper benötigt.

bash
node --version

mkdir temu-scraper && cd temu-scraper
npm init -y

npm install crawlbase cheerio

Zwei Abhängigkeiten erledigen die Arbeit: crawlbase ist der offizielle Node-Client für die Crawling API, und cheerio parst das zurückgegebene HTML mit einer jQuery-ähnlichen API, sodass Sie einzelne Felder per CSS-Selektor extrahieren können. Erstellen Sie eine Datei namens temu-scraper.js in diesem Ordner und fügen Sie den Code aus den folgenden Schritten ein.

Schritt 1: Die gerenderte Suchseite abrufen

Beginnen Sie damit, die fertige Seite zu laden. Importieren Sie die Klasse CrawlingAPI, initialisieren Sie sie mit Ihrem JavaScript-Token und fordern Sie die Such-URL an. Temu lädt seine Warenliste mit clientseitigen Skripten, also übergeben Sie ajax_wait und eine page_wait-Verzögerung, damit dieser Inhalt Zeit hat zu erscheinen, bevor die API zurückkehrt. Das Überprüfen des Statuscodes vor dem Parsen hält Fehler offensichtlich statt stumm.

javascript
const { CrawlingAPI } = require('crawlbase');

const api = new CrawlingAPI({ token: 'YOUR_CRAWLBASE_TOKEN' });

const searchURL =
  'https://www.temu.com/search_result.html?search_key=wireless+earbuds';

const options = { ajax_wait: 'true', page_wait: '5000' };

api
  .get(searchURL, options)
  .then((response) => {
    if (response.statusCode === 200) {
      console.log(response.body.slice(0, 500));
    }
  })
  .catch((error) => console.error('API request error:', error));

Führen Sie das Skript mit node temu-scraper.js aus und Sie sollten oben im Body echtes Temu-Produkt-Markup sehen, keine abgespeckte Hülle. Das bestätigt, dass das Rendering funktioniert, bevor Sie einen einzigen Selektor schreiben. Das ajax_wait-Flag weist die API an, auf die Abwicklung seiteninterner Anfragen zu warten, und page_wait fügt eine feste Verzögerung in Millisekunden hinzu, was der Warenliste zusammen Zeit gibt, sich zu befüllen.

Crawlbase Crawling API

Diese erste Anfrage hat soeben eine vollständig gerenderte Temu-Suchseite zurückgegeben, ohne einen Headless-Browser oder einen Proxy auf Ihrer Seite. Die Crawling API führt die Seite in einem echten Browser aus, wartet darauf, dass die JavaScript-Warenliste geladen wird, rotiert serverseitig durch Residential-IPs und behandelt die CAPTCHAs, die Temu Scrapern entgegenwirft, sodass Sie fertiges HTML aus einem einzigen Aufruf erhalten. Richten Sie es zunächst im kostenlosen Tarif auf eine Suchanfrage.

Schritt 2: Jedes Produkt mit cheerio parsen

Mit dem gerenderten HTML in der Hand laden Sie es in cheerio und gehen die Produktkarten durch. Temu ordnet jedes Suchergebnis in einem sich wiederholenden Container innerhalb der Warenliste an, sodass Sie jede Karte auswählen und dann Titel, Preis, Bewertung, Verkaufsanzahl, Bild und Link aus ihr auslesen. Das defensive Lesen jedes Feldes verhindert, dass ein fehlender Wert den Lauf abbricht.

javascript
const cheerio = require('cheerio');

function parseSearchResults(html) {
  const $ = cheerio.load(html);
  const products = [];

  const cards = $(
    'div.js-search-goodsList > div.autoFitList > div.EKDT7a3v'
  );

  cards.each((index, element) => {
    const card = $(element);

    const title = card.find('h2._2BvQbnbN').text().trim();
    const price = card.find('span._2de9ERAH').text().trim();
    const rating = card.find('div._1bGyLOoB').text().trim();
    const sold = card.find('span._3VxQjs6a').text().trim();
    const imageUrl = card.find('img.goods-img-external').attr('src') || '';

    const href = card.find('a._2Tl9qLr1').attr('href');
    const link = href
      ? new URL(href, 'https://www.temu.com').href
      : '';

    if (title) {
      products.push({ title, price, rating, sold, imageUrl, link });
    }
  });

  return products;
}

Einige Details halten dies seitengetreu. Jede Karte befindet sich unter div.js-search-goodsList > div.autoFitList > div.EKDT7a3v, der Titel kommt aus der h2._2BvQbnbN-Überschrift, der Preis aus span._2de9ERAH, Bewertung und Verkaufsanzahl aus ihren eigenen kleinen Text-Knoten, das Vorschaubild aus dem src von img.goods-img-external und der Link aus dem href von a._2Tl9qLr1, aufgelöst zu einer absoluten URL, damit er außerhalb der Seite funktioniert. Der if (title)-Guard verwirft leere Platzhalterzellen, die manchmal im Raster sitzen.

Selectors drift

Temus Klassennamen (_2BvQbnbN, _2de9ERAH, EKDT7a3v und der Rest) werden generiert und ändern sich ohne Ankündigung. Behandeln Sie die obigen Selektoren als Ausgangsmuster, nicht als Vertrag. Wenn ein Feld leer zurückkommt, inspizieren Sie die Live-Seite in den Dev Tools Ihres Browsers und aktualisieren Sie den Selektor. Periodische Selektor-Wartung ist bei jedem Produktions-Scraper normal und kein Zeichen dafür, dass etwas kaputt ist.

Schritt 3: Paginierung behandeln und das vollständige Skript zusammenstellen

Temu lädt weitere Ergebnisse hinter einer "Mehr anzeigen"-Schaltfläche, statt auf separaten nummerierten Seiten. Die Crawling API kann diese Schaltfläche für Sie anklicken, bevor sie das HTML zurückgibt, mithilfe der Option css_click_selector, sodass ein einzelnes Rendering einen größeren Stapel Karten freischalten kann. Verbinden Sie das Abrufen, das Klicken und das Parsen in einem lauffähigen Skript und schreiben Sie dann die Datensätze als JSON und CSV auf die Festplatte.

javascript
const fs = require('fs');
const { CrawlingAPI } = require('crawlbase');
const cheerio = require('cheerio');

const api = new CrawlingAPI({ token: 'YOUR_CRAWLBASE_TOKEN' });

async function crawl(url) {
  const response = await api.get(url, {
    ajax_wait: 'true',
    page_wait: '5000',
    css_click_selector: 'div.R8mNGZXv[role="button"]',
  });
  if (response.statusCode === 200) return response.body;
  console.error(`Request failed: ${response.statusCode}`);
  return null;
}

function toCsv(rows) {
  const headers = ['title', 'price', 'rating', 'sold', 'imageUrl', 'link'];
  const escape = (value) =>
    `"${String(value).replace(/"/g, '""')}"`;
  const lines = [headers.join(',')];
  for (const row of rows) {
    lines.push(headers.map((h) => escape(row[h])).join(','));
  }
  return lines.join('\n');
}

async function main() {
  const url =
    'https://www.temu.com/search_result.html?search_key=wireless+earbuds';
  const html = await crawl(url);
  if (!html) return;

  const products = parseSearchResults(html);
  fs.writeFileSync('temu-products.json', JSON.stringify(products, null, 2));
  fs.writeFileSync('temu-products.csv', toCsv(products));
  console.log(`Saved ${products.length} products to JSON and CSV`);
}

main();

Fügen Sie die Funktion parseSearchResults aus Schritt 2 in dieselbe Datei ein, damit main sie aufrufen kann. Der css_click_selector zeigt auf Temus "Mehr anzeigen"-Steuerung (div.R8mNGZXv[role="button"]); die API klickt sie während des Renderings, sodass das zurückgegebene HTML die zusätzlichen Karten enthält, die dieser Klick lädt. Führen Sie das Skript mit node temu-scraper.js aus und Sie erhalten zwei Dateien: temu-products.json mit den vollständigen strukturierten Datensätzen und temu-products.csv, bereit zum Öffnen in einem Tabellenkalkulationsprogramm. Der toCsv-Helfer zitiert jedes Feld und verdoppelt alle eingebetteten Anführungszeichen, was hier wichtig ist, da Produkttitel lang sind und häufig Kommas enthalten.

Wie die Ausgabe aussieht

Die JSON-Datei enthält ein Objekt pro Produkt in der Reihenfolge der Auflistung, jedes mit Titel, Preis, Bewertung, Verkaufsanzahl, Bild-URL und Link.

json
[
  {
    "title": "Wireless Earbuds Bluetooth 5.3 with Charging Case",
    "price": "$8.97",
    "rating": "4.6",
    "sold": "12K+ sold",
    "imageUrl": "https://img.kwcdn.com/product/open/earbuds-001.jpg",
    "link": "https://www.temu.com/goods-detail-g-601099527865713.html"
  },
  {
    "title": "True Wireless Sports Earphones Noise Cancelling",
    "price": "$11.49",
    "rating": "4.4",
    "sold": "3.2K+ sold",
    "imageUrl": "https://img.kwcdn.com/product/open/earbuds-002.jpg",
    "link": "https://www.temu.com/goods-detail-g-601099537192760.html"
  }
]

Die CSV spiegelt dieselben Zeilen mit einer Kopfzeile wider, sodass sie direkt in Excel, Google Sheets oder eine beliebige Datenpipeline geladen werden kann, die durch Trennzeichen getrennte Dateien liest.

csv
title,price,rating,sold,imageUrl,link
"Wireless Earbuds Bluetooth 5.3 with Charging Case","$8.97","4.6","12K+ sold","https://img.kwcdn.com/product/open/earbuds-001.jpg","https://www.temu.com/goods-detail-g-601099527865713.html"
"True Wireless Sports Earphones Noise Cancelling","$11.49","4.4","3.2K+ sold","https://img.kwcdn.com/product/open/earbuds-002.jpg","https://www.temu.com/goods-detail-g-601099537192760.html"

Skalierung über Anfragen und unblockiert bleiben

Eine Suchanfrage ist eine Demo; ein echter Auftrag geht mehrere Anfragen oder Kategorien durch. Erstellen Sie eine Liste von Suchbegriffen, rufen Sie jeden über die Crawling API mit denselben Warte-und-Klick-Optionen ab, parsen Sie ihn mit derselben Funktion und versehen Sie jede Zeile mit der Anfrage, bevor Sie exportieren. Da jede Suchseite dieselbe Kartenstruktur teilt, funktioniert der Parser, den Sie bereits geschrieben haben, für alle ohne Änderungen.

javascript
async function scrapeQueries(queries) {
  const all = [];
  for (const query of queries) {
    const term = encodeURIComponent(query);
    const url = `https://www.temu.com/search_result.html?search_key=${term}`;
    const html = await crawl(url);
    if (!html) continue;
    const rows = parseSearchResults(html).map((p) => ({ query, ...p }));
    all.push(...rows);
    await new Promise((r) => setTimeout(r, 2000));
  }
  return all;
}

scrapeQueries(['wireless earbuds', 'phone case', 'led lights']).then((rows) => {
  console.log(`Collected ${rows.length} products across queries`);
});

Auch bei behandeltem Rendering beobachtet Temu scraper-ähnlichen Datenverkehr, daher halten einige Gewohnheiten einen Lauf gesund. Setzen Sie Anfragen dosiert ab: die setTimeout-Verzögerung zwischen Anfragen im obigen Code verteilt den Datenverkehr, anstatt Seiten in einer engen Schleife zu hämmern, was der wichtigste Faktor dafür ist, unter den Ratenlimits zu bleiben. Setzen Sie auf Rotation: Ein Pool von Residential-IPs verteilt Anfragen über viele echte Nutzeradressen, sodass keine einzelne ein Limit oder einen CAPTCHA auslöst, und die Crawling API übernimmt das für Sie. Lesen Sie die Statuscodes: Ein Lauf, der anfängt, Nicht-200-Antworten zurückzugeben, signalisiert Ihnen, zurückzuweichen, kein Rauschen, das ignoriert werden sollte. Das umfassendere Playbook finden Sie unter Websites scrapen ohne blockiert zu werden, und speziell für die Rendering-Seite unter JavaScript-Websites crawlen.

Dieses Muster lässt sich direkt in Preisgestaltungs- und Recherchearbeit übertragen. Wie Sie Listungsdaten in Preisentscheidungen umwandeln, erfahren Sie unter Web Scraping für Price Intelligence einsetzen, und für die breitere Landschaft des Marketplace-Scrapings deckt der Leitfaden zum E-Commerce-Web-Scraping Muster ab, die denselben Fetch-then-Parse-Ansatz für andere Shops wiederverwenden.

Ob das Scrapen von Temu zulässig ist, hängt von Temus Nutzungsbedingungen, Ihrem Gerichtsstand und dem ab, was Sie mit den Daten tun. Temus Bedingungen schränken den automatisierten Zugriff ein, sodass Scraping unabhängig davon, wie sorgfältig Ihr Tooling ist, gegen diese Bedingungen verstoßen kann. Keiner der hier vorliegenden Codes ändert das; er sorgt nur dafür, dass der technische Teil funktioniert. Lesen Sie Temus Nutzungsbedingungen und dessen robots.txt, und behandeln Sie beides als Grenze für das, was Sie sammeln.

Ein paar Linien, an denen es sich lohnt festzuhalten. Sammeln Sie nur öffentliche Produktdaten: Titel, Preis, Bewertung, Verkaufsanzahl, Bild und Produktlink, die jeder auf einer Suchseite ohne Konto sehen kann. Respektieren Sie Temus erklärte Ratenerwartungen und halten Sie Ihr Anfragevolumen niedrig genug, sodass Sie seine Server nicht belasten. Vermeiden Sie persönliche Daten, einschließlich allem, was identifizierbaren Rezensenten über die aggregierten Bewertungen und Zählungen auf der Seite hinaus zugeordnet werden kann. Vertreiben Sie nicht Temus urheberrechtlich geschützte Medien, wie beispielsweise seine Produktfotografie, als ob es Ihre eigenen wären; das Behandeln einer Bild-URL als Referenz unterscheidet sich davon, das Bild kommerziell weiterzuhosten.

Diese Anleitung beschränkt sich bewusst auf öffentliche Such- und Listungsdaten, da das die Linie ist, die die Arbeit vertretbar macht. Sie deckt nichts hinter einem Login, keine Kunden- oder Verkäufer-Personendaten, keine Bestellhistorie und keine Versuche ab, eine Authentifizierung oder einen CAPTCHA zu umgehen, der nicht für Sie gedacht war. Wenn Ihr Projekt mehr als öffentliche Listings benötigt oder Sie die Daten kommerziell wiederverwenden möchten, ist der richtige Weg eine offizielle Vereinbarung oder ein genehmigtes Partner- oder Affiliate-Programm, kein cleverer Scraper. Wenn ein Marktplatz einen offiziellen Datenkanal anbietet, bevorzugen Sie diesen für Volumen- oder kommerzielle Nutzung.

Zusammenfassung

Wichtigste Erkenntnisse

  • Temu rendert Listings clientseitig und blockiert aggressiv. Eine einfache Anfrage liefert eine leere Hülle oder einen CAPTCHA zurück, daher müssen Sie die Seite hinter einer vertrauenswürdigen IP rendern und auf die Warenliste warten, bevor Sie parsen.
  • Die Crawling API erledigt die schwere Arbeit in einem Aufruf. Sie rendert die Seite, wartet mit ajax_wait und page_wait auf AJAX-Inhalte, rotiert Residential-IPs und behandelt CAPTCHAs und gibt fertiges HTML zurück.
  • cheerio extrahiert die Felder. Wählen Sie jede Karte unter der Warenliste aus und lesen Sie dann Titel, Preis, Bewertung, Verkaufsanzahl, Bild und Link, und erwarten Sie, dass die generierten Klassennamen driften.
  • Paginierung ist ein "Mehr anzeigen"-Klick. Temu lädt weitere Ergebnisse hinter einer Schaltfläche, also weist css_click_selector die API an, während des Renderings darauf zu klicken und den größeren Stapel zurückzugeben.
  • Bleiben Sie bei öffentlichen Daten. Respektieren Sie Temus ToS und robots.txt, dosieren Sie Ihre Anfragen, vermeiden Sie persönliche Daten und angemeldete Inhalte und exportieren Sie sauberes JSON und CSV für den nachgelagerten Gebrauch.

Häufig gestellte Fragen

Warum liefert eine einfache Anfrage unvollständige Daten von Temu?

Weil Temu sein Produktraster clientseitig mit JavaScript rendert und automatisierten Datenverkehr mit CAPTCHAs herausfordert. Eine rohe HTTP-Anfrage von einer Datacenter-IP gibt normalerweise eine leere Hülle oder eine Blockierungsseite anstelle der Produktkarten zurück. Um eine vollständige Seite zu erhalten, müssen Sie sie hinter einer vertrauenswürdigen IP rendern und auf das Laden der Warenliste warten, was die Crawling API mit ajax_wait und page_wait für Sie übernimmt.

Benötige ich das JavaScript-Token, um Temu zu scrapen?

Ja. Temus Inhalt wird mit JavaScript gerendert, daher verwenden Sie das JavaScript-Request-Token aus Ihrem Crawlbase-Dashboard statt des normalen und übergeben die Warteoptionen, damit die gerenderte Warenliste in der Antwort vorhanden ist. Der kostenlose Tarif enthält bis zu 20.000 Anfragen ohne Kreditkarte, und JavaScript-Anfragen werden anders als normale gutgeschrieben, also überprüfen Sie die Preisseite für Details.

Wie funktioniert die Paginierung bei Temu?

Temu lädt weitere Listings hinter einer "Mehr anzeigen"-Schaltfläche statt auf separaten nummerierten Seiten. Die Crawling API kann diese Schaltfläche während des Renderings mithilfe der Option css_click_selector anklicken, sodass eine einzelne Anfrage einen größeren Stapel Karten zurückgeben kann. Zeigen Sie den Selektor auf die Schaltfläche (zum Beispiel div.R8mNGZXv[role="button"]) und die zusätzlichen Ergebnisse kommen in demselben HTML zurück, das Sie parsen.

Meine Selektoren liefern leere Werte. Was hat sich geändert?

Höchstwahrscheinlich Temus Markup. Container- und Klassennamen wie _2BvQbnbN, _2de9ERAH und EKDT7a3v werden generiert und ändern sich ohne Ankündigung, sodass Selektoren, die letzten Monat funktioniert haben, brechen können. Inspizieren Sie eine Live-Seite in den Dev Tools Ihres Browsers und aktualisieren Sie die Selektoren. Periodische Selektor-Wartung ist bei jedem Produktions-Scraper normal.

Kann ich Temu-Daten in einer Datenbank anstatt in CSV speichern?

Ja. CSV und JSON sind praktisch für einen ersten Durchlauf, aber für größere oder laufende Projekte macht eine Datenbank wie PostgreSQL oder MongoDB die Daten einfacher zu abfragen und über die Zeit zu analysieren. Ersetzen Sie die writeFileSync-Aufrufe in main durch die Einfügelogik Ihres Datenbankclients und lassen Sie den Rest des Scrapers unverändert.

Wie vermeide ich das Blockieren beim Scrapen von Temu?

Halten Sie Ihre IP-Anfragerate niedrig, fügen Sie Verzögerungen zwischen Anfragen hinzu und leiten Sie über rotierende Residential-IPs weiter, sodass keine einzelne Adresse ein Ratenlimit oder einen CAPTCHA auslöst. Die Crawling API verwaltet Rotation, einen vertrauenswürdigen IP-Pool und CAPTCHA-Behandlung für Sie; wenn Sie Ihren eigenen Stack aufbauen, ist das der Teil, in den Sie investieren sollten. Beachten Sie die Statuscodes und weichen Sie zurück, wenn Sie anfangen, Herausforderungen zu sehen.

Jetzt loslegen

Crawlen Sie jede Website im großen Maßstab, ohne gegen die Infrastruktur zu kämpfen.

Crawlbase übernimmt Proxys, Fingerprints und CAPTCHAs, damit Ihr Team Datenpipelines ausliefert, statt Crawl-Infrastruktur zu pflegen. 1.000 Anfragen kostenlos, keine Karte erforderlich.

Self-Service · Kein Verkaufsgespräch erforderlich · Enterprise-Crawl-Volumen verfügbar