---
title: "Wie man Indeed mit Python scrapt"
slug: how-to-scrape-indeed
date: 2026-02-23T09:51:59+00:00
modified: 2026-02-23T09:52:09+00:00
permalink: https://brightdata.de/blog/web-data-de/how-to-scrape-indeed
type: blog
---

[ Blog ](https://brightdata.de/blog "Blog") / [Web Data](https://brightdata.de/blog/web-data-de)







 [Web Data](https://brightdata.de/blog/web-data-de)

# Wie man Indeed mit Python scrapt

Lernen Sie, wie Sie mit Python Stellenanzeigen von Indeed scrapen, Anti-Bot-Herausforderungen bewältigen und die Datenerfassung effizient optimieren können.

 15 min lesen





 [ ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg) ](https://brightdata.com/blog/authors/antonello-zanini)

 [Antonello Zanini

Technical Writer

 ](https://brightdata.com/blog/authors/antonello-zanini)





 ![How to Scrape Indeed blog image](https://media.brightdata.de/2024/12/How-to-Scrape-Indeed.svg)





In diesem Artikel erfahren Sie:

- Was ein Indeed-Scraper ist und wie er funktioniert
- Welche Arten von Daten Sie automatisch aus Indeed extrahieren können
- Wie Sie mit Python ein Indeed-Scraping-Skript erstellen
- Wann und warum Sie möglicherweise eine fortgeschrittenere Lösung benötigen

Los geht’s!

## <a></a>Was ist ein Indeed-Scraper?

Ein [Indeed-Scraper](/products/web-scraper/indeed) extrahiert automatisch Stellenanzeigen und zugehörige Daten von der Indeed-Website. Er ahmt menschliche Interaktionen nach, um auf den Seiten für die Stellensuche zu navigieren. Anschließend identifiziert er bestimmte Elemente wie Berufsbezeichnungen, Unternehmen, Standorte und Beschreibungen. Schließlich extrahiert der[Scraping-Bot](/blog/how-tos/what-is-a-scraping-bot)Daten aus diesen Elementen und exportiert sie zur Analyse.

## <a></a>Daten, die Sie auf Indeed finden können

Indeed ist eine Fundgrube für berufsbezogene Daten, die für Marktanalysen, Rekrutierungs- oder Forschungszwecke von unschätzbarem Wert sein können. Nachfolgend finden Sie eine Liste der wichtigsten Datenpunkte, die Sie daraus extrahieren können:

- **Stellenbezeichnungen**: Die in der Anzeige ausgeschriebene Rolle oder Position.
- **Firmennamen**: Details zum Arbeitgeber, einschließlich Firmenprofilen.
- **Standorte**: Die Stadt, das Bundesland oder das Land, in dem die Stelle angesiedelt ist.
- **Stellenbeschreibungen**: Detaillierte Informationen über die Rolle, die Aufgaben und die Anforderungen.
- **Gehaltsspannen**: Ausgeschriebene Gehaltsspannen (sofern verfügbar).
- **Beschäftigungsarten**: Vollzeit, Teilzeit, befristet, Praktikum usw.
- **Veröffentlichungsdatum: Datum**, an dem die Stellenanzeige veröffentlicht wurde.
- **Tags und Attribute**: Schlüsselwörter wie „Dringend gesucht“ oder „Remote“.
- **Bewertungen und Rezensionen**: Arbeitgeberbewertungen und Mitarbeiterfeedback.
- **Bewerbungsoptionen**: Indikatoren wie die Verfügbarkeit von „Easy Apply”.

Wenn Sie sich auf Stellenangebote konzentrieren, folgen Sie unserer Anleitung [zum Scrapen von Stellenanzeigen](/blog/how-tos/how-to-scrape-job-postings).

## <a></a>So scrapen Sie Indeed: Schritt-für-Schritt-Anleitung

In diesem Tutorial erfahren Sie, wie Sie einen Indeed-Scraper erstellen. Sie werden durch den Prozess der Erstellung eines Python-Skripts geführt, mit dem Sie die Indeed-Stellenanzeigenseite für „Datenwissenschaftler“ scrapen können:

![The data scientist job posting page on Indeed](https://media.brightdata.de/2024/12/image-99.png)Befolgen Sie die Anweisungen und lernen Sie, wie Sie Indeed scrapen können!

### <a></a>Schritt 1: Projekt einrichten

Bevor Sie beginnen, stellen Sie sicher, dass Python 3 auf Ihrem Computer installiert ist. Ist dies nicht der Fall, [laden Sie es herunter](https://www.python.org/downloads/) und installieren Sie es.

Führen Sie nun den folgenden Befehl im Terminal aus, um ein Verzeichnis für Ihr Projekt zu erstellen:

```none
mkdir indeed_scraper

```

`indeed_scraper` enthält Ihren Python-Indeed-Scraper.

Geben Sie ihn in das Terminal ein und initialisieren Sie darin eine [virtuelle Umgebung](https://docs.python.org/3/library/venv.html):

```none
cd indeed_scraper
python -m venv env

```

Laden Sie als Nächstes den Projektordner in Ihre bevorzugte Python-IDE. [Visual Studio Code mit der Python-Erweiterung](https://code.visualstudio.com/docs/languages/python) und [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows) sind beide gute Optionen.

Erstellen Sie eine Datei `scraper.py` im Projektverzeichnis, das nun folgende Dateistruktur aufweisen sollte:

![the new scraper.py file in the project directory](https://media.brightdata.de/2024/12/image-100.png)`scraper.py` wird in Kürze die gewünschte Scraping-Logik enthalten.

Jetzt ist es an der Zeit, die virtuelle Umgebung im Terminal der IDE zu aktivieren. Unter Linux oder macOS führen Sie dazu folgenden Befehl aus:

```none
./env/bin/activate

```

Unter Windows führen Sie stattdessen folgenden Befehl aus:

```none
env/Scripts/activate

```

Großartig! Sie haben nun eine Python-Umgebung für das Web-Scraping von Indeed.

### <a></a>Schritt 2: Wählen Sie die richtige Scraping-Bibliothek

Der nächste Schritt besteht darin, festzustellen, ob Indeed auf dynamischen oder statischen Seiten basiert. Öffnen Sie dazu die [Indeed-Zielseite](https://www.indeed.com/jobs?q=data+scientist&l=New+York%2C+NY&from=searchOnHP%2Cwhatautocomplete&vjk=45d1ba700870fbef) im Inkognito-Modus Ihres Browsers und probieren Sie sie aus. Wie Sie leicht erkennen können, werden die meisten Daten auf der Seite dynamisch geladen:

![An example showing that most of the data is loading dynamically](https://media.brightdata.de/2024/12/image-101.png)Das reicht aus, um zu sagen, dass Sie ein Browser-Automatisierungstool wie [Selenium](https://www.selenium.dev/) benötigen, um Indeed effektiv zu scrapen. Weitere Anleitungen zu diesem Vorgang finden Sie in unserem Leitfaden zum [Selenium-Web-Scraping](/blog/how-tos/using-selenium-for-web-scraping).

Mit Selenium können Sie einen Webbrowser programmgesteuert steuern, um Benutzerinteraktionen zu simulieren und mit JavaScript gerenderte Inhalte zu scrapen. Installieren Sie es und legen Sie los!

### <a></a>Schritt 3: Selenium installieren und konfigurieren

Führen Sie in einer aktivierten virtuellen Umgebung den folgenden Befehl aus, um Selenium zu installieren:

```none
pip install -U selenium

```

Importieren Sie Selenium in `scraper.py` und richten Sie ein [`WebDriver`](https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.chrome.webdriver) -Objekt ein:

```none
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# Richten Sie eine steuerbare Chrome-Instanz ein.
driver = webdriver.Chrome(service=Service())

```

Der obige Code initialisiert alles, was Sie zur Steuerung einer Chrome-Instanz benötigen.

**Hinweis**: Indeed hat Anti-Scraping-Maßnahmen implementiert, um zu verhindern, dass Headless-Browser auf seine Seiten zugreifen. Daher würde die Einstellung des Flags [`--headless`](https://developer.chrome.com/docs/chromium/headless) dazu führen, dass Ihr Skript fehlschlägt. Als alternativen Ansatz können Sie sich [Playwright Stealth](/blog/how-tos/avoid-bot-detection-with-playwright-stealth) ansehen.

Vergessen Sie nicht, den Webtreiber als letzte Zeile Ihres Skripts zu schließen:

```none
driver.quit()

```

Großartig! Sie sind nun vollständig für das Scraping von Indeed konfiguriert.

### <a></a>Schritt 4: Besuchen Sie die Zielseite

Weisen Sie den kontrollierten Browser mit der Methode [`get()`](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.get) von Selenium an, die Zielseite aufzurufen:

```none
driver.get("https://www.indeed.com/jobs?q=data+scientist&l=New+York%2C+NY&from=searchOnHP%2Cwhatautocomplete&vjk=45d1ba700870fbef")

```

`scraper.py` enthält nun die folgenden Codezeilen:

```none
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# Richten Sie eine steuerbare Chrome-Instanz ein.
driver = webdriver.Chrome(service=Service())

# Zielseite im Browser öffnen
driver.get("https://www.indeed.com/jobs?q=data+scientist&l=New+York%2C+NY&from=searchOnHP%2Cwhatautocomplete&vjk=45d1ba700870fbef")

# Scraping logc...

# Schließen Sie den Webtreiber.
driver.quit()

```

Fügen Sie einen Debugging-Haltepunkt in die letzte Zeile ein. Führen Sie das Skript mit dem Debugger aus. Unten sehen Sie, was Sie sehen sollten:

![What you should see after running the script with the debugger](https://media.brightdata.de/2024/12/image-102.png)**Hinweis**: Die Meldung „Chrome wird von einer automatisierten Testsoftware gesteuert“ zeigt an, dass Selenium Chrome wie erwartet steuert.

Gut gemacht!

### <a></a>Schritt 5: Wählen Sie die Elemente der Stellenanzeige aus

Die Indeed-Jobsuche-Seite zeigt zahlreiche Stellenangebote an. Da wir alle diese Stellenangebote scrapen möchten, initialisieren Sie zunächst ein Array, um die gescrapten Daten zu speichern:

```none
jobs = []

```

Untersuchen Sie als Nächstes die HTML-Elemente der Stellenangebote auf der Seite, um zu verstehen, wie Sie diese auswählen können:

![The HTML elements of the job openings](https://media.brightdata.de/2024/12/image-103.png)Hier ist jedes Stellenelement ein `slider_item` -Knoten innerhalb des Containers `#mosaic-provider-jobcards`.

Normalerweise würden Sie CSS-Klassen verwenden, um Elemente auf der Seite auszuwählen. Diese Klassen scheinen jedoch zufällig generiert zu werden – wahrscheinlich zum Zeitpunkt der Erstellung. Um Stabilität zu gewährleisten, ist es besser, die Attribute `„id”` und `„data-testid”` anzusprechen, die sich weniger häufig ändern.

Verwenden Sie Selenium, um die Jobelemente auszuwählen:

```none
jobs_container_element = driver.find_element(By.CSS_SELECTOR, "#mosaic-provider-jobcards")
job_elements = jobs_container_element.find_elements(By.CSS_SELECTOR, "[data-testid="slider_item"]")

```

Die Methode [`find_elements()`](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.find_elements) wendet die angegebene Selektorstrategie an, um alle übereinstimmenden Elemente von der Seite abzurufen. In diesem Fall handelt es sich bei der Selektorstrategie um einen [CSS-Selektor](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors).

Stellen Sie sicher, dass Sie `By` importieren, damit dies funktioniert:

```none
from selenium.webdriver.common.by import By

```

Durchlaufen Sie nun die ausgewählten Elemente und bereiten Sie sich darauf vor, Daten aus jedem einzelnen zu extrahieren:

```none
for job_element in job_elements:
    # Daten aus jeder Stellenausschreibung extrahieren

```

Fantastisch! Sie sind nun bereit, Stellenangebote von Indeed zu scrapen.

### <a></a>Schritt 6: Hauptinformationen der Stellenangebote extrahieren

Untersuchen Sie ein Kartenelement und konzentrieren Sie sich dabei auf die Informationen im oberen Bereich der Karte:

![The HTML of the job title element](https://media.brightdata.de/2024/12/image-104.png)Hier sehen Sie, dass Sie Folgendes extrahieren können:

- Die Stellenbezeichnung aus dem `<h2>`
- Die URL der Jobseite aus dem `<a>` innerhalb des Titels `<h2>`
- Den Firmennamen aus dem Knoten `[data-testid="company-name"]`
- Den Standort des Unternehmens aus dem Element `[data-testid="text-location"]`

Wandeln Sie die oben genannten Informationen wie folgt in eine Scraping-Logik um:

```none
title_element = job_element.find_element(By.CSS_SELECTOR, "h2.jobTitle")
title = title_element.text

url_element = title_element.find_element(By.CSS_SELECTOR, "a")
url = url_element.get_attribute("href")

company_element =job_element.find_element(By.CSS_SELECTOR, "[data-testid="company-name"]")
company = company_element.text

location_element = job_element.find_element(By.CSS_SELECTOR, "[data-testid="text-location"]")
location = location_element.text

```

`find_element()` wählt das erste Element aus, das dem angegebenen Selektor entspricht. Bei einem Knoten können Sie dann mit dem `Textattribut` auf dessen Textinhalt zugreifen. Um den Wert eines HTML-Attributs des Knotens zu erhalten, müssen Sie die Methode `get_attribute()` verwenden.

Cool! Sie haben die Grundlage für Ihre Indeed-Scraping-Logik geschaffen, aber es gibt noch weitere nützliche Daten, die Sie scrapen können.

### <a></a>Schritt 7: Scrapen Sie die Jobdetails

Konzentrieren Sie sich auf den Abschnitt „Details” der Stellenanzeige:

![Inspecting the HTML of the job details ](https://media.brightdata.de/2024/12/image-105.png)Diesmal sind folgende Informationen zu scrapen:

- Die Tags der Stellenposition in einem oder mehreren `[data-testid="attribute_snippet_testid"]` -Elementen innerhalb eines `.jobMetaDataGroup` `<div>`
- Gibt es eine Option, sich einfach über Indeed zu bewerben?
- Die Beschreibungselemente in einem oder mehreren `ul li` -Elementen innerhalb eines `[role="presentation"]` `<div>`

Beginnen wir mit den Tags. Sie können alle mit folgendem Befehl scrapen:

```none
tags = []
tags_container_element = job_element.find_element(By.CSS_SELECTOR, ".jobMetaDataGroup")
tag_elements = tags_container_element.find_elements(By.CSS_SELECTOR, "[data-testid="attribute_snippet_testid"]")
for tag_element in tag_elements:
    tag = tag_element.text
    tags.append(tag)

```

Zunächst müssen Sie ein Array initialisieren, in dem alle abgerufenen Tags gespeichert werden. Dies ist erforderlich, da eine einzelne Stellenanzeige mehrere Tags enthalten kann. Nachdem Sie diese ausgewählt haben, durchlaufen Sie sie, extrahieren Sie den Text daraus und fügen Sie die Tags zum Array hinzu.

Das Scraping der Informationen zu „Einfach bewerben” ist ebenfalls schwierig. Das Problem besteht darin, dass das HTML-Element, das diese Möglichkeit anzeigt, nicht in allen Stellenangeboten vorhanden ist. Es ist natürlich nur dort vorhanden, wo die Option „Einfach bewerben” unterstützt wird.

Wenn Sie versuchen, ein Element auszuwählen, das nicht auf der Seite vorhanden ist, löst Selenium eine [`NoSuchElementException`](https://reflect.run/articles/everything-you-need-to-know-about-nosuchelementexception-in-selenium/) aus. Sie können dies also nutzen, um das Kontrollkästchen „Einfach bewerben” effektiv zu scrapen:

```none
try:
    job_element.find_element(By.CSS_SELECTOR, "[data-testid="indeedApply"]")
    easily_apply = True
except NoSuchElementException:
    easily_apply = False

```

Wenn der Knoten `[data-testid="indeedApply"]` nicht auf der Seite vorhanden ist, löst Selenium eine `NoSuchElementException` aus. Diese wird abgefangen und `easily_apply` wird auf `False` gesetzt.

Was die Beschreibungselemente angeht, können Sie diese alle wie die Tags scrapen:

```none
description = []
description_container_element = job_element.find_element(By.CSS_SELECTOR, "[role="presentation"]")
description_elements = description_container_element.find_elements(By.CSS_SELECTOR, "ul li")
for description_element in description_elements:
    description_item_text = description_element.text
    # Leere Beschreibungszeichenfolgen ignorieren
    if (description_item_text != ""):
        description.append(description_item_text)

```

Wow! Der Indeed-Scraper ist fast fertig.

### <a></a>Schritt 8: Sammeln Sie die gescrapten Daten

Füllen Sie mit den gescrapten Daten aus jeder Stellenausschreibung ein `Stellen` wörterbuch:

```none
job = {
    "title": title,
    "url": url,
    "company": company,
    "location": location,
    "tags": tags,
    "easily_apply": easily_apply,
    "description": description
}

```

Fügen Sie es dann zum Array `„jobs”` hinzu:

```none
jobs.append(job)

```

Am Ende der `for-` Schleife sollte `products` etwa folgenden Inhalt haben:

```none
[{'title': 'Data Scientist', 'url': 'https://www.indeed.com/rc/clk?jk=efc7b7f4a8be2882&bb=NM368jsOPyYGAfEtQk2NNae8tSeBHdJ8Y9tImVa1Q9GAipGe0zzddcUozFEL0Na_pYCR4W6ljgljsBxWTUrluVuL8Gom7x7UZlgMzs0spo3NRgisrZ7meuaPfaEcjWoe&xkcb=SoD767M34WNyEaSTwx0FbzkdCdPP&fccid=8678bc4e64c24580&vjs=3', 'company': 'GQR', 'location': 'New York, NY', 'tags': [], 'easily_apply': False, 'description': ['Bleiben Sie über Branchentrends und neue Technologien auf dem Laufenden, um Ihren Wettbewerbsvorteil zu sichern.', 'Wenden Sie statistische und maschinelle Lernverfahren an, um Investitionen zu verbessern…']},
# der Kürze halber ausgelassen...
{'title': 'Data Scientist, Finanzkriminalität – USDS', 'url': 'https://www.indeed.com/rc/clk?jk=aaa16dfd1cc6ef01&bb=NM368jsOPyYGAfEtQk2NNdxizAZQnHpzRrlr6WgbV1RtxmXz4vto1qiiqGiIj9CJFQQCV6cW59nE4hGw1yeNdokPfu8Fgl3EALBx5zdWjPm4COEu78DCFh4KTUMIFWkh&xkcb=SoAT67M34WNyEaSTwx0pbzkdCdPP&fccid=caed318a9335aac0&vjs=3', 'company': 'TikTok', 'location': 'Hybrid work in New York, NY', 'tags': [], 'easily_apply': False, 'description': ['Als Data Scientist für Finanzkriminalität spielen Sie eine entscheidende Rolle bei der Nutzung von Machine Learning, Analytik und Visualisierungstechniken zur Verbesserung unserer ...']}]

```

Großartig! Sie müssen diese Daten nur noch in ein besseres Format konvertieren.

### <a></a>Schritt 9: Exportieren Sie die gesammelten Daten in eine CSV-Datei

Um die gescraped Daten zugänglich und teilbar zu machen, ist es eine gute Idee, sie in ein für Menschen lesbares Format zu exportieren. Schreiben Sie sie beispielsweise in eine CSV-Datei. Verwenden Sie dazu diese Codezeilen:

```none
csv_file = "scraped_jobs.csv"
csv_headers = ["title", "url", "company", "location", "tags", "easily_apply", "description"]

with open(csv_file, mode="w", newline="", encoding="utf-8") as file:
    writer = csv.DictWriter(file, fieldnames=csv_headers)
    writer.writeheader()
    for job in jobs:
        writer.writerow({
            "title": job["title"],
            "url": job["url"],
            "company": job["company"],
            "location": job["location"],
            "tags": ";".join(job["tags"]),
            "easily_apply": "Yes" if job["easily_apply"] else "No",
            "description": ";".join(job["description"])
        })

```

Die Funktion [`open()`](https://docs.python.org/3/library/functions.html#open) erstellt die CSV-Ausgabedatei, die dann mit [`csv.DictWriter`](https://docs.python.org/3/library/csv.html#csv.DictWriter) gefüllt wird. Da die Felder `„tags”` und `„description”` Arrays sind, werden sie mit [`join()`](https://docs.python.org/3/library/stdtypes.html#str.join) zu einer einzigen Zeichenfolge mit durch `;` getrennten Elementen abgeflacht.

Vergessen Sie nicht, [`csv`](https://docs.python.org/3/library/csv.html) aus der Python-Standardbibliothek zu importieren:

```none
import csv

```

Das war’s schon! Der Indeed-Scraper ist fertig.

### <a></a>Schritt 10: Alles zusammenfügen

Ihre endgültige `scraper.py` -Datei enthält nun:

```none
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.common import NoSuchElementException
import csv

# Richten Sie eine steuerbare Chrome-Instanz ein.
driver = webdriver.Chrome(service=Service())

# Öffnen Sie die Zielseite im Browser
driver.get("https://www.indeed.com/jobs?q=data+scientist&l=New+York%2C+NY&from=searchOnDesktopSerp")

# Eine Datenstruktur, in der die gescrapten Stellenangebote gespeichert werden
jobs = []

# Wählen Sie die Stellenangebotselemente auf der Seite aus
jobs_container_element = driver.find_element(By.CSS_SELECTOR, "#mosaic-provider-jobcards")
job_elements = jobs_container_element.find_elements(By.CSS_SELECTOR, "[data-testid="slider_item"]")

# Jede Stellenanzeige auf der Seite scrapen
for job_element in job_elements:
    title_element = job_element.find_element(By.CSS_SELECTOR, "h2.jobTitle")
    title = title_element.text

    url_element = title_element.find_element(By.CSS_SELECTOR, "a")
    url = url_element.get_attribute("href")

    company_element =job_element.find_element(By.CSS_SELECTOR, "[data-testid="company-name"]")
    company = company_element.text

    location_element = job_element.find_element(By.CSS_SELECTOR, "[data-testid="text-location"]")
    location = location_element.text

    tags = []
    tags_container_element = job_element.find_element(By.CSS_SELECTOR, ".jobMetaDataGroup")
    tag_elements = tags_container_element.find_elements(By.CSS_SELECTOR, "[data-testid="attribute_snippet_testid"]")
    for tag_element in tag_elements:
        tag = tag_element.text
        tags.append(tag)

    # Überprüfen, ob das Element „Easy Apply” auf der Seite vorhanden ist
    try:
        job_element.find_element(By.CSS_SELECTOR, "[data-testid="indeedApply"]")
        easily_apply = True
    except NoSuchElementException:
        easily_apply = False

    description = []
    description_container_element = job_element.find_element(By.CSS_SELECTOR, "[role="presentation"]")
    description_elements = description_container_element.find_elements(By.CSS_SELECTOR, "ul li")
    for description_element in description_elements:
        description_item_text = description_element.text
        # Leere Beschreibungszeichenfolgen ignorieren
        if (description_item_text != ""):
            description.append(description_item_text)

    # Gescrapte Daten speichern
    job = {
        "title": title,
        "url": url,
        "company": company,
        "location": location,
        "tags": tags,
        "easily_apply": easily_apply,
        "description": description
    }
    jobs.append(job)

# Exportieren der gescrapten Daten in eine CSV-Ausgabedatei
csv_file = "jobs.csv"
csv_headers = ["title", "url", "company", "location", "tags", "easily_apply", "description"]

with open(csv_file, mode="w", newline="", encoding="utf-8") as file:
    writer = csv.DictWriter(file, fieldnames=csv_headers)
    writer.writeheader()
    for job in jobs:
        writer.writerow({
            "title": job["title"],
            "url": job["url"],
            "company": job["company"],
            "location": job["location"],
            "tags": ";".join(job["tags"]),
            "easily_apply": "Yes" if job["easily_apply"] else "No",
            "description": ";".join(job["description"])
        })

# Schließen Sie den Webtreiber.
driver.quit()

```

Mit weniger als 100 Zeilen Code haben Sie gerade einen Indeed-Scraper in Python erstellt!

Starten Sie den Scraper mit dem folgenden Befehl:

```none
python3 script.py

```

Oder unter Windows:

```none
python script.py

```

Eine Datei namens `jobs.csv` wird im Ordner Ihres Projekts angezeigt. Öffnen Sie sie und Sie sehen:

![The final jobs.csv file with all the scraped results](https://media.brightdata.de/2024/12/image-106.png)Et voilà! Mission erfüllt.

## <a></a>Indeed-Daten ganz einfach freischalten

Indeed ist sich des Werts seiner Daten bewusst und setzt robuste Maßnahmen zu deren Schutz ein. Aus diesem Grund werden Sie bei der Interaktion mit den Seiten mithilfe eines Browser-Automatisierungstools wie Selenium wahrscheinlich auf ein CAPTCHA stoßen:

![Cloudflare CAPTCHA on Indeed](https://media.brightdata.de/2024/12/image-107.png)Als ersten Schritt sollten Sie unsere Anleitung [zum Umgehen von CAPTCHAs in Python](/blog/web-data/bypass-captchas-with-python) befolgen. Beachten Sie jedoch, dass die Website Ihre Versuche möglicherweise weiterhin mit zusätzlichen Anti-Bot-Maßnahmen blockiert. Entdecken Sie alle diese Maßnahmen in unserem Webinar zu Anti-Bot-Techniken.

Diese Herausforderungen zeigen, wie frustrierend und ineffizient das Scraping von Indeed ohne die richtigen Tools schnell werden kann. Darüber hinaus verlangsamt die Unmöglichkeit, Headless-Browser zu verwenden, Ihr Scraping-Skript und macht es ressourcenintensiver.

Die Lösung? [Die Indeed Scraper API](/products/web-scraper/indeed) von Bright Data. Mit diesem Tool können Sie Daten von Indeed nahtlos über einfache API-Aufrufe abrufen – ohne CAPTCHAs, ohne Blockierungen und ohne Probleme!

## <a></a>Fazit

In dieser Schritt-für-Schritt-Anleitung haben Sie gelernt, was ein Indeed-Scraper ist, welche Arten von Daten er abrufen kann und wie man einen solchen Scraper in Python erstellt. Mit nur etwa 100 Zeilen Code haben Sie ein Skript erstellt, das automatisch Daten von Indeed sammelt.

Dennoch birgt das Scraping von Indeed einige Herausforderungen. Die Plattform wendet strenge Anti-Bot-Maßnahmen an, darunter CAPTCHAs. Diese sind schwer zu umgehen und können Ihren Scraping-Prozess verlangsamen, wodurch er weniger effizient wird. Mit unserer [Indeed Scraper API](/products/web-scraper/indeed) können Sie all diese Herausforderungen vergessen.

Wenn Web-Scraping nicht Ihr Ding ist, Sie aber dennoch an Daten zu Stellenangeboten interessiert sind, entdecken Sie unsere gebrauchsfertigen [Indeed-Datensätze](/products/datasets/indeed)!

Erstellen Sie noch heute ein kostenloses Bright Data-Konto, um unsere Scraper-APIs auszuprobieren oder unsere Datensätze zu erkunden.



Vertrieb kontaktierenGratis testen![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Inhaltsverzeichnis







Indeed Scraper

Easily scrape Indeed with our Indeed Scraper API or No-Code Scraper.

Start free trial

Indeed Dataset

Skip scraping, purchase an Indeed dataset.

Get dataset







 [ ](https://news.ycombinator.com/submitlink?t=Wie+man+Indeed+mit+Python+scrapt&u=https://brightdata.de/blog/web-data-de/how-to-scrape-indeed) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Wie+man+Indeed+mit+Python+scrapt&url=https://brightdata.de/blog/web-data-de/how-to-scrape-indeed) [ ](http://www.reddit.com/submit?title=Wie+man+Indeed+mit+Python+scrapt&url=https://brightdata.de/blog/web-data-de/how-to-scrape-indeed)







##  Das könnte Sie auch interessieren

 [ ![OpenHuman with Bright Data](https://media.brightdata.de/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.de/blog/ai/openhuman-with-bright-data "Produktionsreifer Web-Zugriff in OpenHuman über die Bright Data CLI")

 [AI



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Produktionsreifer Web-Zugriff in OpenHuman über die Bright Data CLI

Integrieren Sie die Bright Data CLI mit OpenHuman, um produktionsreifen Web-Zugriff und Datenerhebung für KI-Agenten zu ermöglichen.



 09-Sep-2026

 12 min lesen

 ](https://brightdata.de/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.de/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.de/blog/web-data-de/multimodal-web-scraping-with-minimax "Multimodales Web-Scraping mit MiniMax")

 [Web Data



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Multimodales Web-Scraping mit MiniMax

Kombinieren Sie Bright Data Web Unlocker mit MiniMax M3 Vision, um strukturierte Daten aus Bildern und Webseiten-Screenshots zu extrahieren.



 09-Sep-2026

 4 min lesen

 ](https://brightdata.de/blog/web-data-de/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.de/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.de/blog/ai/best-cli-tools-for-codex "Die 10 besten CLI-Tools für Codex im Jahr 2026 – Getestet & Bewertet")

 [AI



 ![Daniel Shashko](https://media.brightdata.de/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### Die 10 besten CLI-Tools für Codex im Jahr 2026 – Getestet &amp; Bewertet

Die 10 CLI-Tools, die Codex schneller und leistungsfähiger machen, beginnend mit dem Bright Data CLI für echten Web-Zugriff aus der Sandbox heraus.



 06-Sep-2026

 20 min lesen

 ](https://brightdata.de/blog/ai/best-cli-tools-for-codex)
